anchor.diff:  -type type() :: #{ ?TYPE => ?M
                    , date  => calendar:datetime()
                    }.
  +
  +-spec ?CONSTRUCTOR() -> type().
  +?CONSTRUCTOR() ->
  +  ?CONSTRUCTOR({erlang:date(), erlang:time()}).
   
   -spec ?CONSTRUCTOR(calendar:datetime()) -> type().
   ?CONSTRUCTOR(Timestamp) when is_integer(Timestamp), -?EPOCH =< Timestamp ->
  
positive.code: 
  -behavior('clojerl.IHash').
  -behavior('clojerl.IEquiv').
  
  -export([ ?CONSTRUCTOR/1
          , year/1
          , month/1
          , day/1
  
negative.code: 
  -export([hash/1]).
  -export([equiv/2]).
  -export([str/1]).
  
  %% EPOCH = calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}).
  -define(EPOCH, 62167219200).
  