fix bug in begin desugar
add primitive predicates for all primitive types