Niklas Broberg wrote: > How about > > class AmqpWireC c where > amqpPutC :: AmqpWire a => c a -> ... > amqpGetC :: AmqpWire a => ... -> c a > That looks like it might work. I'll give it a go and let you know what happens. Thanks, Paul.