anchor.diff:  #endif
   "
   
  +let includes (moduleType: Type) =
  +    let attrs =
  +        moduleType.CustomAttributes
  +        |> Seq.filter (fun x -> x.AttributeType = typeof<IncludeAttribute>)
  +    attrs
  +    |> Seq.map (fun x -> Seq.exactlyOne x.ConstructorArguments)
  +    |> Seq.map (fun x -> "#include " + (x.Value :?> string))
  +    |> Seq.reduce (fun x y -> x + "\n" + y)
  +
   let rec findCall call = function
       | SpecificCall <@ C @> (_, _, exprList) -> (<@@ C @@>, exprList.[0])
       | SpecificCall <@ CExtern @> (_, _, exprList) -> (<@@ CExtern @@>, exprList.[0])
  
positive.code:         let libs = libs moduleType
          io {
              let! oFiles = compileFunctions path tb moduleType
              do! gccCompileToDynamicLibrary libs oFiles dylibName
              return! cleanObjectFiles path }
          |> IO.run
  
  
negative.code:         let args = Seq.exactlyOne attr.ConstructorArguments
          args.Value :?> string
  
      let checkProcessError (p: Process) =
          if p.ExitCode <> 0 then failwith (p.StandardError.ReadToEnd ())
  
      let startClang args = io {
          let pinfo = ProcessStartInfo ("clang", args)
  
          pinfo.UseShellExecute <- false
          pinfo.RedirectStandardError <- true
  