Compose/Transformer

See https://github.com/Netflix/RxJava/issues/1416 for discussion that led to this.

This does not have co/contra-variance which needs to be figured out.