anchor.diff:  let decimal name = genericReal<decimal> true name
   
   let private stringTransformer = T (fun _ span ->
  -    let span = span.Slice(1, span.Length - 2)
  +    let mutable span = span.Slice(1, span.Length - 2)
       let sb = StringBuilder(span.Length)
  +
  +    #if NETSTANDARD2_0
       let mutable i = 0
       while i < span.Length do
           let c = span.[i]
  
positive.code: /// into the desired number type. No bounds checking is performed.
  /// The type parameter must support the unary negation operator.
  /// Using this function from a language other than F# will throw an exception.
  let inline genericSigned< ^TInt when ^TInt: (static member Parse:    string * NumberStyles * IFormatProvider -> ^TInt) and ^TInt : (static member (~-): ^TInt -> ^TInt)> name =
      terminal name
          (T (fun _ x ->
              (^TInt: (static member Parse:    string * NumberStyles * IFormatProvider -> ^TInt)
                  (x.ToString(), NumberStyles.Integer, NumberFormatInfo.InvariantInfo))))
          signedIntRegex
  
  /// Creates a designtime Farkle that parses and returns a
  
negative.code: /// Creates a designtime Farkle that parses a real number
  /// into the desired number type. No bounds checking is performed.
  /// Using this function from a language other than F# will throw an exception.
  let inline genericReal< ^TReal when ^TReal: (static member Parse: Characters * NumberStyles * IFormatProvider -> ^TReal)> allowSign name =
      let regex =
          if allowSign then
              signedRealRegex
  