 	}
 	
 	/// N-ary list from a sequence.
-	init<S : Sequence where S.GeneratorType.Element == Element>(elements: S) {
+	init<S: SequenceType where S.Generator.Element == Element>(elements: S) {
 		self = List(generator: elements.generate())
 	}
 }
 
 
-/// Lists conform to Sequence.
-extension List : Sequence {
+/// Lists conform to SequenceType.
+extension List: SequenceType {
 	func generate() -> GeneratorOf<Element> {
 		var list = self
 		return GeneratorOf {

	}
	
	/// N-ary list from a generator.
	init<G : Generator where G.Element == Element>(var generator: G) {
		if let next: Element = generator.next() {
			self = .Node(next, [ List(generator: generator) ])
		} else {

}


infix operator ++ { associativity right precedence 145 }

/// Concatenation of lists.
func ++ <Element> (left: List<Element>, right: List<Element>) -> List<Element> {
