TypeConstraints: refactor building the static argument type lists