Are you sure it's actually unrestricted? I know each type doesn't have to have a profiler, but if you try to look up a profiler for a type that doesn't even exist it might barf (I'm envisoning an implementation that has dicts keyed by type ID).