refactor (tup/seq)_(val/type/ref); add traits/ref