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

/// Bind | Given an Either<L,RA>, and a function from RA -> Either<L,RB>, applies the function `f`
/// if `a` is Right, otherwise the function is ignored and a Left with the Left value from `a` is
/// returned.
public func >>- <L, RA, RB>(a: Either<L, RA>, f: RA -> Either<L, RB>) -> Either<L, RB> {
	switch a {
	case let .Left(l):
		return .Left(l)

/// 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> {
	switch (a, f) {
	case let (.Left(l), _):
		return .Left(l)
