anchor.diff:  
   equiv(#{?TYPE := ?M, date := Date}, #{?TYPE := ?M, date := Date}) -> true;
   equiv(_ , _) -> false.
  +
  +str(#{?TYPE := ?M, date := {{Y, M, D}, {H, MM, S}}}) ->
  +  iolist_to_binary(io_lib:format("~p-~p-~pT~p:~p:~p", [Y, M, D, H, MM, S])).
  
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).
  