contraMap and andThen on TypedSink/TypedSource

closes #884 
closes #885 
contraMap is the haskel naming for this right?