fix join bug

- guarding existentials on branches with guard predicate
- makes nested conditionals slow right now
- typeOf() is currently broken