 MACRO: npick ( n -- )
     1- [ dup ] [ '[ _ dip swap ] ] repeat ;
 
+MACRO: nover ( n -- )
+    dup '[ _ 1 + npick ] n*quot ;
+
 MACRO: ndup ( n -- )
     dup '[ _ npick ] n*quot ;
 

MACRO: nwith ( n -- )
    [ with ] n*quot ;

MACRO: ncleave ( quots n -- )
    [ '[ _ '[ _ _ nkeep ] ] map [ ] join ] [ '[ _ ndrop ] ] bi
    compose ;

    [ dup <reversed> [ '[ _ _ mnswap ] ] with map ] keep
    '[ _ _ ncleave ] ;

MACRO: nbi-curry ( n -- )
    [ bi-curry ] n*quot ;

: nappend-as ( n exemplar -- seq )
    [ narray concat ] dip like ; inline

