func fibonacci() -> SequenceOf { return SequenceOf {() -> GeneratorOf in var window: (UInt, UInt, UInt) = (0, 0, 1) return GeneratorOf { window = (window.1, window.2, window.1 + window.2) return window.0 } } }