use hashed set for no tracing predicates
add pretty printer