Should this be `type(protocol)` and `protocol`?