anchor.diff:      open PrimReflectionAdapters
   
   #endif
  -
   
       module BasicInlinedOperations =  
           let inline unboxPrim<'T>(x:obj) = (# "unbox.any !0" type ('T) x : 'T #)
  
positive.code:         type System.Type with
              member inline this.IsGenericType = this.GetTypeInfo().IsGenericType
              member inline this.IsValueType = this.GetTypeInfo().IsValueType
              member inline this.IsAssignableFrom(otherTy : Type) = this.GetTypeInfo().IsAssignableFrom(otherTy.GetTypeInfo())
              member inline this.GetProperty(name) = this.GetRuntimeProperty(name)
              member inline this.GetMethod(name, parameterTypes) = this.GetRuntimeMethod(name, parameterTypes)
              member inline this.GetCustomAttributes(attrTy : Type, inherits : bool) : obj[] = 
  
negative.code:                         && isCompilerGeneratedInterfaceMethod ty typeof<IStructuralComparable> "CompareTo" [|typeof<obj>; typeof<IComparer>|]
                          && isCompilerGeneratedInterfaceMethod ty typeof<IComparable> "CompareTo" [|typeof<obj>|]
                      | _ -> false
  #else
                  let hasFSharpCompilerGeneratedEquality (_:Type) = false
                  let hasFSharpCompilerGeneratedComparison (_:Type) = false
  
  #endif
  
                  let takeFirstNonNull items =
                      let rec takeFirst idx =
  