 }
 
 
+/// Stream conforms to SequenceType.
 extension Stream : SequenceType {
 	public func generate() -> GeneratorOf<T> {
 		var stream = self

	}
}

public func dropFirst<T>(stream: Stream<T>) -> Stream<T> {
	switch stream {
	case .Nil: return .Nil

}


/// Returns the first element of `stream`, or nil if `stream` is `Nil`.
public func first<T>(stream: Stream<T>) -> T? {
	switch stream {
	case .Nil: return nil
