0001    public struct IterateGenerator
Iterate.swift:13
  public func generate() -> IterateGenerator<Element> {
Iterate.swift:14
    return IterateGenerator(x: x, f: f)
<Element
Iterate.swift:2
  private var x: Element
Iterate.swift:3
  private let f: Element -> Element
Iterate.swift:3
  private let f: Element -> Element
Iterate.swift:4
  public mutating func next() -> Element? {
>: GeneratorType { 0002 private var x
Iterate.swift:5
    defer { x = f(x) }
Iterate.swift:5
    defer { x = f(x) }
Iterate.swift:6
    return x
: Element 0003 private let f
Iterate.swift:5
    defer { x = f(x) }
: Element -> Element 0004 public mutating func next() -> Element? { 0005 defer { x = f(x) } 0006 return x 0007 } 0008 } 0009 0010 public struct IterateSequence<Element
Iterate.swift:11
  private let x: Element
Iterate.swift:12
  private let f: Element -> Element
Iterate.swift:12
  private let f: Element -> Element
Iterate.swift:13
  public func generate() -> IterateGenerator<Element> {
>: SequenceType { 0011 private let x
Iterate.swift:14
    return IterateGenerator(x: x, f: f)
: Element 0012 private let f
Iterate.swift:14
    return IterateGenerator(x: x, f: f)
: Element -> Element 0013 public func generate() -> IterateGenerator<Element> { 0014 return IterateGenerator(x: x, f: f) 0015 } 0016 } 0017 0018 public struct IterateEndGenerator
Iterate.swift:31
  public func generate() -> IterateEndGenerator<Element> {
Iterate.swift:32
    return IterateEndGenerator(x: x, f: f)
<Element
Iterate.swift:19
  private var x: Element?
Iterate.swift:20
  private var f: Element -> Element?
Iterate.swift:20
  private var f: Element -> Element?
Iterate.swift:21
  public mutating func next() -> Element? {
>: GeneratorType { 0019 private var x
Iterate.swift:22
    guard let y = x else { return nil }
Iterate.swift:23
    defer { x = f(y) }
: Element? 0020 private var f
Iterate.swift:23
    defer { x = f(y) }
: Element -> Element? 0021 public mutating func next() -> Element? { 0022 guard let y = x else { return nil } 0023 defer { x = f(y) } 0024 return y 0025 } 0026 } 0027 0028 public struct IterateEndSequence<Element
Iterate.swift:29
  private let x: Element
Iterate.swift:30
  private let f: Element -> Element?
Iterate.swift:30
  private let f: Element -> Element?
Iterate.swift:31
  public func generate() -> IterateEndGenerator<Element> {
>: SequenceType { 0029 private let x
Iterate.swift:32
    return IterateEndGenerator(x: x, f: f)
: Element 0030 private let f
Iterate.swift:32
    return IterateEndGenerator(x: x, f: f)
: Element -> Element? 0031 public func generate() -> IterateEndGenerator<Element> { 0032 return IterateEndGenerator(x: x, f: f) 0033 } 0034 }