anchor.diff:      log_allowed(Location,Level,{FunOrFormat,Args},#{}).
   
   -spec macro_log(Location,Level,Format,Args,Meta)  -> ok when
  -      Location :: map(),
  +      Location :: location(),
         Level :: level(),
         Format :: io:format(),
         Args ::[term()],
         Meta :: metadata();
                  (Location,Level,Fun,FunArgs,Meta) -> ok when
  -      Location :: map(),
  +      Location :: location(),
         Level :: level(),
         Fun :: msg_fun(),
         FunArgs :: term(),
  
positive.code:     end.
  
  -spec log_allowed(Location,Level,Msg,Meta)  -> ok when
        Location :: map(),
        Level :: level(),
        Msg :: {msg_fun(),term()} |
               {io:format(),[term()]} |
  
negative.code: 
  
  -spec macro_log(Location,Level,StringOrReport)  -> ok when
        Location :: location(),
        Level :: level(),
        StringOrReport :: unicode:chardata() | report().
  macro_log(Location,Level,StringOrReport) ->
      log_allowed(Location,Level,StringOrReport,#{}).
  
  -spec macro_log(Location,Level,StringOrReport,Meta)  -> ok when
        Location :: location(),
        Level :: level(),
        StringOrReport :: unicode:chardata() | report(),
        Meta :: metadata();
                 (Location,Level,Format,Args) -> ok when
        Location :: location(),
        Level :: level(),
        Format :: io:format(),
        Args ::[term()];
                 (Location,Level,Fun,FunArgs) -> ok when
        Location :: location(),
        Level :: level(),
        Fun :: msg_fun(),
        FunArgs :: term().
  