anchor.diff:  
   open System
   open System.Reflection
  +open System.Reflection.Emit
   open System.Runtime.CompilerServices
  +open System.Runtime.InteropServices
  +open Microsoft.FSharp.NativeInterop
   
   open Microsoft.FSharp.Quotations
   open Microsoft.FSharp.Quotations.Patterns
  +
  +#nowarn "9"
    
   open CTypedAST
   
  
positive.code:     Functions: MethodInfo list
      ExportedFunctions: MethodInfo list
      IsCpp: bool }
  
  let runtimeFields (typ: Type) = 
      typ.GetRuntimeFields () 
  
negative.code:     { ReturnType = returnType; Name = name; ParameterTypes = parameterTypes }
  
  let rec makeCDeclStructFields env (typ: Type) =
      let pfs = propertiesWithFields typ
  
      runtimeFields typ
      |> List.fold (fun (env, fields) x ->
          let name =
              // The name is determined if a property's getter is only returning a backing field.
              // If so, the property's name is used; otherwise, use the field's name.
              match pfs |> List.tryFind (fun (_,fld) -> fld = x) with
              | None -> x.Name
              | Some (x,_) -> x.Name
  
          match tryLookupCType env x.FieldType with
          | None -> 
  