added singleton type and some more predicates