I think we want:

Injection[T, ChannelBuffer]

Going backwards from ChannelBuffer may fail, but this should guarantee you can go forward.