Class new title: SetReader subclassof: Stream fields: '' declare: '' asSet [self copy] copy | t1 [t1 _ Set new. t1 of: (array species new: limit - position). t1 append: self] length [limit - position] of: t1 from: t2 for: t3 [array _ t1. position _ t2. position _ position - 1. limit _ position + t3]