join_seq/iter (cont'd); reimplement traits/common