contraMap and andThen on TypedSink/TypedSource

closes #884 
closes #885 
Makes sense, yep.