1    type ArrayIterator<T> =
2        inherit Iterator<T>
3    
4        let array : Array<T>
5        let mut index = -1
6    
7        def Iterator.move_next =
8            index += 1
9            index < array.size
10   
11       def Iterator.get_value =
12           array[index]
13   
14   type Array<T>
15       def try_size = Some size |> as_option
16       def get_iterator = ArrayIterator<T> self
17   
18       is Iterable<T>
19