public override Producer <RT, OUT, A> InterpretProducer <RT, OUT>() => Producer.release <RT, OUT, X>(Value).Bind(x => Next(x).InterpretProducer <RT, OUT>()).ToProducer();
public override Producer <RT, OUT, B> SelectMany <RT, OUT, B>(Func <A, Producer <RT, OUT, B> > f) => Producer.release <RT, OUT, X>(Value).Bind(x => Next(x).Bind(f)).ToProducer();