assert that object type is always well-formed.
expand_quasiquote uses type_name.
Fn converts syntactic parameters to instances of Par, holds variad as separate field.