(class Concatenate is NuOperator
(- (id) callWithArguments:(id)cdr context:(id)context is
(set final ((cdr car) evalWithContext: context))
(set remaining (cdr cdr))
(until (eq (remaining length) 0)
(set current ((car remaining) evalWithContext: context))
; Append the current item onto the final sequence.
(set final (final arrayByAddingObjectsFromArray: current))
; Drop the first element from the remaining ones.
(set remaining (remaining cdr)))
final))
(global ++ (Concatenate alloc))