: if-empty ( ..a seq quot1: ( ..a -- ..b ) quot2: ( ..a seq -- ..b ) -- ..b )
[ dup empty? ] [ [ drop ] prepose ] [ ] tri* if ; inline
-: when-empty ( ... seq quot: ( ... -- obj ) -- ... seq/obj ) [ ] if-empty ; inline
+: when-empty ( ... seq quot: ( ... -- ... obj ) -- ... seq/obj ) [ ] if-empty ; inline
: unless-empty ( ... seq quot: ( ... seq -- ... ) -- ... ) [ ] swap if-empty ; inline
: delete-all ( seq -- ) 0 swap set-length ;
[ setup-3each ] dip compose ; inline
: element/index ( i/f seq -- elt/f i/f )
- '[ [ _ nth ] [ f ] if* ] keep ;
+ '[ [ _ nth ] [ f ] if* ] keep ; inline
: index/element ( i/f seq -- i/f elt/f )
- dupd '[ _ nth ] [ f ] if* ;
+ dupd '[ _ nth ] [ f ] if* ; inline
: (accumulate) ( seq identity quot -- identity seq quot' )
swapd [ keepd ] curry ; inline