anchor.diff:                                 | {error, invalid_time}.
   format(Format, Datetime, Type) ->
       case Type of
  -        timestamp -> format_timestamp(Format, Datetime);
  -        now       -> format_now(Format, Datetime);
  -        datetime  -> format_datetime(Format, Datetime)
  +        unix     -> format_unix(Format, Datetime);
  +        now      -> format_now(Format, Datetime);
  +        datetime -> format_datetime(Format, Datetime)
       end.
   
   %% @doc Helper function similar to format/3.
   %%      @equiv format(Format, Datetime, timestamp)
   %% @end
  --spec format_timestamp(format(), unix_timestamp()) -> {ok, binary()}
  -                                                    | {error, invalid_time}.
  -format_timestamp(Format, Timestamp) ->
  +-spec format_unix(format(), unix_timestamp()) -> {ok, binary()}
  +                                               | {error, invalid_time}.
  +format_unix(Format, Timestamp) ->
       strftime(convert_format(Format), Timestamp).
   
   %% @doc Helper function similar to format/3.
  
positive.code: -spec parse_now(format(), binary()) -> {ok, erlang:timestamp()}
                                       | {error, format_mismatch}.
  parse_now(Format, Bin) ->
      Timestamp = parse_timestamp(Format, Bin),
      MegaSecs = Timestamp div ?M,
      Secs = Timestamp rem ?M,
      {MegaSecs, Secs, 0}.
  
negative.code: -spec parse_datetime(format(), binary()) -> {ok, ?c:datetime()}
                                            | {error, format_mismatch}.
  parse_datetime(Format, Bin) ->
      Timestamp = parse_unix(Format, Bin),
      ?c:gregorian_seconds_to_datetime(?EPOCH_ZERO + Timestamp).
  
  %% @doc Formats {Type, Datetime} tuple according to Format. The way in which
  