Empty traits now work for named types.

    Named types are guaranteed to be unique, which means that
    the way we currently set the trait on them will work. Unnamed
    types are not unique, so we need a way to either uniqify them,
    or to set the trait on them as they are created.