= Solution
The return types suggest an \b[immutable <sequence> implementation]: insertion and deletion return a new `Sequence[A]`, while the receiver can remain unchanged. A mutable implementation would more naturally return `Unit` for in-place edits, though it could return itself. Thus the signatures are evidence of an intended <immutable object> implementation, not a logical guarantee. For the snapshot solution below, require that returned and retained `Sequence` values really are immutable. The owning `SlideSuite` can still have a mutable variable referring to its current immutable <sequence>.
Back to article page