The old way would accumulate in a vector and then add the last item on
by copying to a new array.
The new way accumulates in a vector including the last item and then
returns an array.
[ 0 ] 3dip pick [
swap curry [ keep 1 + swap ] curry [
[ find-from drop dup ] 2curry [ keep -rot ] curry
[ 0 ] 3dip pick [
swap curry [ keep 1 + swap ] curry [
[ find-from drop dup ] 2curry [ keep -rot ] curry
+ ] dip V{ } produce-as nip
] 2keep swap [
[ length swapd ] keep
] 2keep swap [
[ length swapd ] keep
- ] dip 2curry call suffix ; inline
+ ] dip 2curry call suffix! { } like ; inline