I did think about adding this in, but I thought it would be better to address it in Play first.

You can have separate input and output types today, just hook in at a level where the types are common (eg, if both in/out are using JSON, then use `WebSocket.using[JsValue]`), and and pass in an enumerator/iteratee that passes the JsValues through reads/writes for your input/output types.