 
 	// MARK: Cases
 
-	case Node(Element, [List<Element>])
+	case Cons(Element, [List<Element>])
 	case Nil
 }
 

		var list = self
		return GeneratorOf {
			switch list {
			case let .Node(x, next):
				list = next[0]
				return x
			case .Nil:

	
	/// List of one element.
	init(_ element: Element) {
		self = .Cons(element, [ List.Nil ])
	}
	
	/// Prepending.
	init(_ element: Element, rest: List<Element>) {
		self = .Cons(element, [ rest ])
	}
	
	/// N-ary list from a generator.
	init<G: GeneratorType where G.Element == Element>(var generator: G) {
		if let next: Element = generator.next() {
			self = .Cons(next, [ List(generator: generator) ])
		} else {
			self = .Nil
		}
