refactor (tup/seq)_(val/type/ref); add traits/ref
join_seq: first/last non-empty trav
join_seq/iter (cont'd): operator +/>>=/>>, begin/end