Implement remaining type predicates; widen definition of ATOM?