Existentially qualify the type of channel operations

This is so we can have channels of different types in the same operation.