             return value
         }
     }
-    
+
     public func map<U>(transform: V -> U) -> Result<U> {
         switch self {
         case .Value(let value):

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

public enum Result<V> {
    case Error(ErrorType)
    case Value(V)

    public init(@noescape f: () throws -> V) {
        do {
            self = .Value(try f())
        } catch (let error) {
            self = .Error(error)
        }
    }

    public func value() throws -> V {
        switch self {
        case .Error(let error):
