     [ [ length check-length 0 ] keep ] 2dip <copy> (copy) drop ; inline
 
 : subseq-unsafe-as ( from to seq exemplar -- subseq )
-    [ subseq>copy (copy) ] dip like ;
+    [ subseq>copy (copy) ] dip like ; inline
 
 : subseq-unsafe ( from to seq -- subseq )
     dup subseq-unsafe-as ; inline

    [ check-slice ] dip subseq-unsafe-as ;

: subseq ( from to seq -- subseq )
    dup subseq-as ; inline

: head ( seq n -- headseq ) (head) subseq ;


PRIVATE>

: mismatch ( seq1 seq2 -- i )
    [ min-length ] 2keep mismatch-unsafe ;

M: sequence <=>
    [ mismatch ] 2keep pick
