 precedence 100
 }
 
-public func >>- <V, U>(v: Result<V>, f: V -> Result<U>) -> Result<U> {
-    return v.flatMap(f)
+public func >>- <V, U>(result: Result<V>, transform: V -> Result<U>) -> Result<U> {
+    return result.flatMap(transform)
 }
 
 infix operator -<< {

        }
    }

    public func flatMap<U>(f: V -> Result<U>) -> Result<U> {
        switch self {
        case .Error(let error):
            return .Error(error)
        case .Value(let value):
            switch f(value) {
            case .Error(let error):
                return .Error(error)
            case .Value(let value):

        }
    }

    public static func pure(value: V) -> Result<V> {
        return .Value(value)
    }
}

public func pure<V>(value: V) -> Result<V> {
    return Result<V>.pure(value)
}

infix operator <^> {
