Use Macro.pipe instead of Monad.push_first_arg