     ] [
         >r >r over - r> r> move-backward
     ] if ;
+
+PRIVATE>
 
 : open-slice ( shift from seq -- )
     pick zero? [

    [ [ 2unclip-slice ] dip [ call ] keep ] dip
    compose 2reduce ; inline

: unclip-last-slice ( seq -- butlast last )
    [ but-last-slice ] [ peek ] bi ; inline

: <flat-slice> ( seq -- slice )

: pad-right ( seq n elt -- padded )
    [ append ] padding ;

: shorter? ( seq1 seq2 -- ? ) [ length ] bi@ < ;

: head? ( seq begin -- ? )
    2dup shorter? [
