val, rref, etc. -> collect; tup_apply, tup_loop: using n-ary apply_tup + unvoid; simplify bind etc.