Make sure type names are in the top-level definitions dictionary. this avoids name collisions, but is slightly more restrictive