anchor.diff:      /// Categorizes a result based on its state and the presence of extra messages
       let inline (|Pass|Warn|Fail|) result =
         match result with
  -      | OK  (value, []  ) -> Pass  value
  -      | OK  (value, msgs) -> Warn (value,msgs)
  +      | Ok  (value, []  ) -> Pass  value
  +      | Ok  (value, msgs) -> Warn (value,msgs)
         | Fail        msgs  -> Fail        msgs
   
       let inline failOnWarnings result =
  
positive.code: 
      /// Appends the given messages with the messages in the given result.
      let inline mergeMessages msgs result = 
          let inline fSuccess (x, msgs2) = OK(x, msgs @ msgs2)
          let inline fFailure errs = Fail(errs @ msgs)
          either fSuccess fFailure result
  
  
negative.code:     [<Extension>]
      static member inline Flatten(value) : Result<seq<'a>,'b>=
          match value with
          | Result.Ok(values:Result<'a,'b> seq, msgs:'b list) -> 
              match collect values with
              | Result.Ok(values,msgs) -> Ok(values |> List.toSeq,msgs)
              | Result.Fail(msgs:'b list) -> Fail msgs
          | Result.Fail(msgs:'b list) -> Fail msgs
  
  