use correct predicate for which types are singletons