contraMap and andThen on TypedSink/TypedSource

closes #884 
closes #885