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