Fix failing tests; expose crappy coverage of `defprotocol`

Hint: there is no coverage of `defprotocol`. Write some tests, man.