throw an exception if the task does not have exactly 2 arguments
throw an exception at expansion rather than evaluation