class SequenceType('T) { iterator(x:'T) : 'I in IteratorType; } instance SequenceType(Array['T, 'n]) { iterator(x) = CoordinateRange(begin(x), begin(x) + 'n); } foo(x in SequenceType) { }