- added "exclude" parameter
If set to a True value, then the parameter will be excluded from dispatch
(aka, it will introduce a ";;" in the Signature of which the Parameter is
to be a part)
- don't normalize types to string
This caused issues with using imported constants such as NativeCall. So
the logic is now: if the value is a type object, it will be used. If it
is a concrete object and **not** a Str, the associated type object will be
used. Otherwise a lookup of the string will be done.