 /// Ap | Given an Either<L, RA -> RB> and an Either<L,RA>, returns an Either<L,RB>. If the `f` or
 /// `a' param is a Left, simply returns a Left with the same value. Otherwise the function taken
 /// from Right(f) is applied to the value from Right(a) and a Right is returned.
-public func <*> <L, RA, RB>(f: Either<L, RA -> RB>, a: Either<L, RA>) -> Either<L, RB> {
+public func <*> <L, RA, RB>(f : Either<L, RA -> RB>, a : Either<L, RA>) -> Either<L, RB> {
 	switch (a, f) {
 	case let (.Left(l), _):
 		return .Left(l)


	/// 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)) });
	}


	}
}

/// MARK : Equatable
public func == <L : Equatable, R : Equatable>(lhs : Either<L, R>, rhs : Either<L, R>) -> Bool {
	switch (lhs, rhs) {
	case let (.Left(l), .Left(r)) where l.value == r.value:
		return true
