anchor.diff:      /// first character used in the symbol.
       let (^) = (<|)
   
  -    // Bottom value
  -    let undefined<'T> : 'T = raise (NotImplementedException("result was implemented as undefined")) 
  +    /// Bottom value
  +    let undefined<'T> : 'T = raise (NotImplementedException("result was implemented as undefined"))
  +
  +    /// Given a value, apply a function to it, ignore the result, then return the original value.
  +    let inline tee fn x = fn x |> ignore; x
  +
  +    /// Custom operator for `tee`: Given a value, apply a function to it, ignore the result, then return the original value.
  +    let inline (|>!) x fn = tee fn x
   
       let inline toOption x = match x with
                               | true, v -> Some v
  
positive.code:         static member parse =
              tryWith bool.TryParse
  
      type SByte with
          static member parseWithOptions style provider x =
              SByte.TryParse(x, style, provider) |> toOption
  
          static member parse x =
              SByte.parseWithOptions NumberStyles.Integer CultureInfo.InvariantCulture x
  
      type Byte with
          static member parseWithOptions style provider x =
              Byte.TryParse(x, style, provider) |> toOption
  
          static member parse x =
              Byte.parseWithOptions NumberStyles.Integer CultureInfo.InvariantCulture x
  
      type UInt16 with
          static member parseWithOptions style provider x =
  
negative.code: 
      // Active patterns
      let (|Boolean       |_|) = Boolean.parse
      let (|Byte          |_|) = Byte.parse
      let (|SByte         |_|) = SByte.parse
      let (|UInt16        |_|) = UInt16.parse
      let (|Int16         |_|) = Int16.parse
      let (|UInt32        |_|) = UInt32.parse
  