diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index f680671559..d16f3b9557 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -840,10 +840,10 @@ M: repetition sum-lengths [ len>> ] [ elt>> length ] bi * ; : concat-as ( seq exemplar -- newseq ) - swap [ { } ] [ - [ sum-lengths over new-resizable ] keep - [ append! ] each - ] if-empty swap like ; + [ + [ dup sum-lengths ] dip new-resizable + [ [ push-all ] curry each ] keep + ] keep like ; inline : concat ( seq -- newseq ) [ { } ] [ dup first concat-as ] if-empty ;