1    object MutSet<T> =
2        def from (slice : Slice<T>) =
3            let set = Set<T>.new
4            for i = 0 until slice.size do
5                set.add slice[i]
6    
7            set
8    
9    object Set<T> =
10       def from (slice : Slice<T>) =
11           let set = MutSet<T>.from slice
12           set.as_readonly
13   
14   fun from_slice<T> (slice : Slice<T>) : Set<T> = Set<T>.from slice
15   fun from_slice<T> (slice : Slice<T>) : MutSet<T> = MutSet<T>.from slice
16