contraMap and andThen on TypedSink/TypedSource

closes #884 
closes #885 
Okay. So, unless there is any other issue, will someone merge?