explicit command mangling, making obvious the need for combinators