     if ; inline
 
 : (find-index) ( seq quot quot' -- i elt )
-    pick [ [ (slow-each-index) ] dip call ] dip finish-find ; inline
+    pick [ [ (map-each-index) ] dip call ] dip finish-find ; inline
 
 : (find-index-from) ( n seq quot quot' -- i elt )
     [ 2dup bounds-check? ] 2dip

    over [ dupd nth-unsafe ] [ drop f ] if ; inline

: (find) ( seq quot quot' -- i elt )
    pick [ [ (slow-each) ] dip call ] dip finish-find ; inline

: (find-from) ( n seq quot quot' -- i elt )
    [ 2dup bounds-check? ] 2dip

: collect ( n quot into -- )
    (collect) each-integer ; inline

: setup-map-each ( seq -- n quot )
    [ length check-length ] keep [ nth-unsafe ] curry ; inline

: (map-each) ( seq quot -- n quot' )
    [ setup-map-each ] dip compose ; inline

: (map-each-index) ( seq quot -- n quot' )
    [ setup-map-each [ keep ] curry ] dip compose ; inline

: map-into ( seq quot into -- )
    [ (map-each) ] dip collect ; inline

: 2nth-unsafe ( n seq1 seq2 -- elt1 elt2 )
    [ nth-unsafe ] bi-curry@ bi ; inline
