anchor.diff:  
   type FromBigInt =
       inherit Default1
  -    static member inline FromBigInt (_:^R        ,_:Default4  ) = fun (x:bigint) -> Explicit.Invoke x         :^R
  -    static member inline FromBigInt (_:^R        ,_:Default3  ) = fun (x:bigint) -> Implicit.Invoke (int64 x) :^R
  -    static member inline FromBigInt (_:^R        ,_:Default2  ) = fun (x:bigint) -> Implicit.Invoke x         :^R
  -    static member inline FromBigInt (_:^R        ,_:Default1  ) = fun (x:bigint) -> (^R: (static member FromBigInt: _ -> ^R) x)
  -    static member inline FromBigInt (_:Default1  ,_:Default1  ) = fun (x:bigint) -> (^R: (static member FromBigInt: _ -> ^R) x)
  -    static member        FromBigInt (_:int32     ,_:FromBigInt) = fun (x:bigint) -> int             x
  -    static member        FromBigInt (_:int64     ,_:FromBigInt) = fun (x:bigint) -> int64           x
  -    static member        FromBigInt (_:nativeint ,_:FromBigInt) = fun (x:bigint) -> nativeint  (int x)
  -    static member        FromBigInt (_:unativeint,_:FromBigInt) = fun (x:bigint) -> unativeint (int x)
  -    static member        FromBigInt (_:bigint    ,_:FromBigInt) = fun (x:bigint) ->                 x
  -    static member        FromBigInt (_:float     ,_:FromBigInt) = fun (x:bigint) -> float           x
  +    static member inline FromBigInt (_:^R        , _:Default4  ) = fun (x:bigint) -> Explicit.Invoke x         :^R
  +    static member inline FromBigInt (_:^R        , _:Default3  ) = fun (x:bigint) -> Implicit.Invoke (int64 x) :^R
  +    static member inline FromBigInt (_:^R        , _:Default2  ) = fun (x:bigint) -> Implicit.Invoke x         :^R
  +    static member inline FromBigInt (_:^R        , _:Default1  ) = fun (x:bigint) -> (^R: (static member FromBigInt: _ -> ^R) x)
  +    static member inline FromBigInt (_:Default1  , _:Default1  ) = fun (x:bigint) -> (^R: (static member FromBigInt: _ -> ^R) x)
  +    static member        FromBigInt (_:int32     , _:FromBigInt) = fun (x:bigint) -> int             x
  +    static member        FromBigInt (_:int64     , _:FromBigInt) = fun (x:bigint) -> int64           x
  +    static member        FromBigInt (_:nativeint , _:FromBigInt) = fun (x:bigint) -> nativeint  (int x)
  +    static member        FromBigInt (_:unativeint, _:FromBigInt) = fun (x:bigint) -> unativeint (int x)
  +    static member        FromBigInt (_:bigint    , _:FromBigInt) = fun (x:bigint) ->                 x
  +    static member        FromBigInt (_:float     , _:FromBigInt) = fun (x:bigint) -> float           x
   #if NOTNET35
  -    static member        FromBigInt (_:sbyte     ,_:FromBigInt) = fun (x:bigint) -> sbyte           x
  -    static member        FromBigInt (_:int16     ,_:FromBigInt) = fun (x:bigint) -> int16           x
  -    static member        FromBigInt (_:byte      ,_:FromBigInt) = fun (x:bigint) -> byte            x
  -    static member        FromBigInt (_:uint16    ,_:FromBigInt) = fun (x:bigint) -> uint16          x
  -    static member        FromBigInt (_:uint32    ,_:FromBigInt) = fun (x:bigint) -> uint32          x
  -    static member        FromBigInt (_:uint64    ,_:FromBigInt) = fun (x:bigint) -> uint64          x
  -    static member        FromBigInt (_:float32   ,_:FromBigInt) = fun (x:bigint) -> float32         x
  -    static member        FromBigInt (_:decimal   ,_:FromBigInt) = fun (x:bigint) -> decimal         x
  +    static member        FromBigInt (_:sbyte     , _:FromBigInt) = fun (x:bigint) -> sbyte           x
  +    static member        FromBigInt (_:int16     , _:FromBigInt) = fun (x:bigint) -> int16           x
  +    static member        FromBigInt (_:byte      , _:FromBigInt) = fun (x:bigint) -> byte            x
  +    static member        FromBigInt (_:uint16    , _:FromBigInt) = fun (x:bigint) -> uint16          x
  +    static member        FromBigInt (_:uint32    , _:FromBigInt) = fun (x:bigint) -> uint32          x
  +    static member        FromBigInt (_:uint64    , _:FromBigInt) = fun (x:bigint) -> uint64          x
  +    static member        FromBigInt (_:float32   , _:FromBigInt) = fun (x:bigint) -> float32         x
  +    static member        FromBigInt (_:decimal   , _:FromBigInt) = fun (x:bigint) -> decimal         x
   #else
  -    static member        FromBigInt (_:sbyte     ,_:FromBigInt) = fun (x:bigint) -> sbyte      (int x)
  -    static member        FromBigInt (_:int16     ,_:FromBigInt) = fun (x:bigint) -> int16      (int x)
  -    static member        FromBigInt (_:byte      ,_:FromBigInt) = fun (x:bigint) -> byte       (int x)
  -    static member        FromBigInt (_:uint16    ,_:FromBigInt) = fun (x:bigint) -> uint16     (int x)
  -    static member        FromBigInt (_:uint32    ,_:FromBigInt) = fun (x:bigint) -> uint32     (int x)
  -    static member        FromBigInt (_:uint64    ,_:FromBigInt) = fun (x:bigint) -> uint64     (int64 x)
  -    static member        FromBigInt (_:float32   ,_:FromBigInt) = fun (x:bigint) -> float32    (int x)
  -    static member        FromBigInt (_:decimal   ,_:FromBigInt) = fun (x:bigint) -> decimal    (int x)
  +    static member        FromBigInt (_:sbyte     , _:FromBigInt) = fun (x:bigint) -> sbyte      (int x)
  +    static member        FromBigInt (_:int16     , _:FromBigInt) = fun (x:bigint) -> int16      (int x)
  +    static member        FromBigInt (_:byte      , _:FromBigInt) = fun (x:bigint) -> byte       (int x)
  +    static member        FromBigInt (_:uint16    , _:FromBigInt) = fun (x:bigint) -> uint16     (int x)
  +    static member        FromBigInt (_:uint32    , _:FromBigInt) = fun (x:bigint) -> uint32     (int x)
  +    static member        FromBigInt (_:uint64    , _:FromBigInt) = fun (x:bigint) -> uint64     (int64 x)
  +    static member        FromBigInt (_:float32   , _:FromBigInt) = fun (x:bigint) -> float32    (int x)
  +    static member        FromBigInt (_:decimal   , _:FromBigInt) = fun (x:bigint) -> decimal    (int x)
   #endif
   
       static member inline Invoke (x:bigint)   :'Num    =
  
positive.code: 
  type FromInt32 =
      inherit Default1
      static member inline FromInt32 (_:^R        ,_:Default4  ) = fun (x:int32) -> Explicit.Invoke x          : ^R
      static member inline FromInt32 (_:^R        ,_:Default3  ) = fun (x:int32) -> FromInt64.Invoke (int64 x) : ^R
      static member inline FromInt32 (_:^R        ,_:Default2  ) = fun (x:int32) -> Implicit.Invoke x          : ^R
      static member inline FromInt32 (_:^R        ,_:Default1  ) = fun (x:int32) -> (^R: (static member FromInt32: _ -> ^R) x)
      static member inline FromInt32 (_:Default1  ,_:Default1  ) = fun (x:int32) -> (^R: (static member FromInt32: _ -> ^R) x)
      static member        FromInt32 (_:int32     , _:FromInt32) = fun (x:int32) ->                 x
      static member        FromInt32 (_:int64     , _:FromInt32) = fun (x:int32) -> int64           x
      static member        FromInt32 (_:nativeint , _:FromInt32) = fun (x:int32) -> nativeint  (int x)
  
negative.code:     static member inline MaxValue ((_:'a*'b*'c*'d*'e         ), _:MaxValue) = (MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke())
      static member inline MaxValue ((_:'a*'b*'c*'d*'e*'f      ), _:MaxValue) = (MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke())
      static member inline MaxValue ((_:'a*'b*'c*'d*'e*'f*'g   ), _:MaxValue) = (MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke())
      static member inline MaxValue ((_:'a*'b*'c*'d*'e*'f*'g*'h), _:MaxValue) = (MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke(), MaxValue.Invoke())
  