anchor.diff:           ,fmt/7
            ,rfc5424/1
            ,rfc5424/8
  +         ,overflow_msg/2
           ]).
   
   -type syslog_msg() :: {facility(), severity(),
                          Time::iolist(), Source::iolist(),
                          Process::iolist(), Msg::iolist()}.
   
  --export_type([ syslog_msg/0 ]).
  +-type datetime() :: 'now' | erlang:timestamp() | calendar:datetime().
  +
  +-export_type([ syslog_msg/0, datetime/0 ]).
   
   -spec to_msg(syslog_msg(), iolist() | binary()) -> iolist().
   to_msg({Facility, Severity, Time, Source, Process, Msg}, Token) ->
  
positive.code: 
  nvl(undefined) -> $-;
  nvl(Val) -> Val.
  
  
  from_msg(Msg) when is_binary(Msg) ->
  
negative.code:       " ",
        Msg ].
  
  -spec datetime(datetime()) -> iolist().
  datetime(now) ->
      datetime(os:timestamp());
  datetime({_,_,_} = Now) ->
  