add more types for prolog constructs