 	
 	/// List of one element.
 	init(_ element: Element) {
-		self = .Node(element, nil)
+		self = .Node(element, [ List.Nil ])
 	}
 	
 	/// Prepending.
 	init(_ element: Element, rest: List<Element>) {
-		self = .Node(element, [rest])
+		self = .Node(element, [ rest ])
 	}
 	
 	/// N-ary list from a generator.

/// A singly-linked lazy list.
enum List<Element> {
	case Nil
	case Node(Element, List<Element>[]?)
	
	/// Nil case.
	init() {

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