 : 2map ( seq1 seq2 quot -- newseq )
     pick 2map-as ; inline
 
-: 2change-each ( seq1 seq2 quot -- newseq )
+: 2change-each ( seq1 seq2 quot -- )
     pick 2map-into ; inline
 
 : 2all? ( seq1 seq2 quot -- ? )

: peek ( seq -- elt ) [ length 1- ] [ nth ] bi ;

: pop* ( seq -- ) [ length 1- ] [ shorten ] bi ;

: move-backward ( shift from to seq -- )
    2over number= [

        first like
    ] if-empty ;

<PRIVATE

: joined-length ( seq glue -- n )
    >r dup sum-lengths swap length 1 [-] r> length * + ;

PRIVATE>

: join ( seq glue -- newseq )
    [
