anchor.diff:  
       let error = Error
   
  -    let errorFromString<'T> : string -> ValidationResult<'T> = ErrorMessage >> Error
  +    let errorFromString<'a> : string -> ValidationResult<'a> = ErrorMessage >> Error
   
       let doubleMap successHandler errorHandler = function
           | Success x -> successHandler x
  
positive.code: type ErrorMessage = ErrorMessage of string
  
  [<StructuredFormatDisplay("{AsString}")>]
  type ValidationResult<'T> =
      | Success of 'T
      | Error of ErrorMessage
      override this.ToString() =
          match this with
  
negative.code: 
      let (>>=) x f = bind f x
  
      let extract<'a> : ValidationResult<'a> -> 'a = doubleMap id (fun (ErrorMessage e) -> invalidOp e)
  
      let (>=>) f g = f >> bind g
  
      let apply fV xV =
          match fV, xV with
          | Success f, Success x -> Success (f x)
          | Error e, _ | _, Error e -> Error e
  
      let (<*>) = apply
  
  