anchor.diff:          generateCFunctionPointer returnType' name parameters'
       | _ -> ""
   
  +let generateCDeclFunctionPointerImpl = function
  +    | CDecl.Function (_, name, _, _) ->
  +        genereateCFunctionPointerImpl name
  +    | _ -> ""
  +
   let generateCDeclPrototypes = function
       | [] -> ""
       | decls -> List.map generateCDeclPrototype decls |> List.reduce (fun x y -> x + "\n" + y)
  
positive.code:     | [] -> ""
      | funcs -> List.map generateCDeclFunctionPointer funcs |> List.reduce (fun x y -> x + "\n" + y)
  
  let generateHeader env includes =
      let prototypes = generateCDeclPrototypes env.Decls
      let structs = generateCDeclStructs env.DeclStructs
      generateMainHeaderf env.Name <|
          sprintf "%s\n%s\n%s" includes structs prototypes
  
  let generateSource (env: CEnv) =
      (generateHeaderInclude env.Name) + generateCDeclFunctions env.DeclFunctions
  
  let generate env includes =
      { Header = generateHeader env includes; Source = generateSource env }
negative.code: }
  """
  
  let generateCFunctionPointer returnType name parameters =
      sprintf """
  typedef %s (*fs_%s)(%s);
  extern fs_%s Fs_%s;
  FEROP_EXPORT void FEROP_DECL ferop_set_fs_%s (fs_%s);
  """
          returnType name parameters name name name name
  
  let genereateCFunctionPointerImpl name =
      sprintf """
  fs_%s Fs_%s;
  FEROP_EXPORT void FEROP_DECL ferop_set_fs_%s (fs_%s ptr)
  {
      Fs_%s = ptr;
  }
  """
          name name name name name
  
  let generateCStructf =
      sprintf """
  