write about pipe and monad