anchor.diff:      {ok,DebugInfo} = make_debug_info(Core, Opts),
       Chunk = {"Dbgi",erlang:term_to_binary(DebugInfo, [compressed])},
       {ok,Chunk}.
  +
  +delete_reports(Opts) ->
  +    [Opt || Opt <- Opts, not is_report_option(Opt)].
  +
  +is_report_option(report) -> true;
  +is_report_option(report_errors) -> true;
  +is_report_option(report_warnings) -> true;
  +is_report_option(_) -> false.
  +
  +add_core_returns(Opts) ->
  +    [from_core,to_core,return_errors,return_warnings] ++ Opts.
  
positive.code: %%% Author  : Robert Virding
  %%% Purpose : Extract LFE abstract code for BEAM data.
  
  %% This is quite simple as the compiler produces Core erlang for us so
  %% there is no need to convert it when the debug info is
  %% required. However we cannot return Erlang AST.
  
  -module(lfe_abstract_code).
  
  
negative.code: 
  %% debug_info(Format, Module, Data, Options) -> {ok,Code} | {error,Error}.
  
  debug_info(core_v1, _Mod, {Core0,Copts0}, Opts) ->
      Copts = add_core_returns(delete_reports(Copts0 ++ Opts)),
      try compile:noenv_forms(Core0, Copts) of
  	{ok,_,Core,_} -> {ok,Core};
  	_ -> {error,failed_conversion}
      catch
  	error:_ -> {error,failed_conversion}
      end;
  debug_info(_Format, _, _, _) ->
      {error,unknown_format}.
  
  