add hasPattern
fix get first coll bug
force arg added to tree()
add tests
simplified ast; fix operator processing bug