pub fn apply_channel<A, B>( f: Session<ReceiveChannel<A, B>>, a: Session<A>) -> Session<B> where A: Protocol, B: Protocol,