Now Template Haskell takes care of the ProcArg and ProcAssign types. By the way, the latter was mistakenly named ProcAsign (with only one S).