 	}
 }
 
+/// Drops the first element of `stream`.
 public func dropFirst<T>(stream: Stream<T>) -> Stream<T> {
 	switch stream {
 	case .Nil: return .Nil

}


extension Stream : SequenceType {
	public func generate() -> GeneratorOf<T> {
		var stream = self

}


/// 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
