use functional unparsing to describe commands