 	}
 }
 
-public func != <L: Equatable, R: Equatable>(lhs: Either<L, R>, rhs: Either<L, R>) -> Bool {
+public func != <L : Equatable, R : Equatable>(lhs : Either<L, R>, rhs : Either<L, R>) -> Bool {
 	return !(lhs == rhs)
 }


	/// Converts a Either to a Result, which is a more specialized type that
	/// contains an NSError or a value.
	public func toResult(ev: L -> NSError) -> Result<R> {
		return either({ e in Result.Error(ev(e)) }, { v in .Value(Box(v)) });
	}


}

/// Applicative `pure` function, lifts a value into an Right.
public func pure<L, R>(a : R) -> Either<L, R> {
	return .Right(Box(a))
}

/// Fmap | If the Either is Left, ignores the function and returns the Left. If the Either is Right,
/// applies the function to the Right value and returns the result in a new Right.
public func <^> <L, RA, RB>(f : RA -> RB, a : Either<L, RA>) -> Either<L, RB> {
	switch a {
	case let .Left(l):
		return .Left(l)
