Changed pipe/2 to command/2,3, added with_pipe_{input,output}