代理 monad 变换器

pipes 的核心数据类型是 Proxy monad 变换器。Pipe,Producer,Consumer 等以 Proxy 定义。

由于 Proxy 是 monad 变换器,Pipes 的定义采用了 await 和 yield 值的 monadic 脚本的形式,另外还执行了基础 monad m 的效果。