anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   is_boss_record(Record, ModelList) when is_tuple(Record) andalso is_atom(element(1, Record)) ->
       Type = element(1, Record),
  -    lists:member(atom_to_list(Type), ModelList)            andalso 
  -        erlang:function_exported(Type, attribute_names, 1) andalso 
  +    lists:member(atom_to_list(Type), ModelList)            andalso
  +        erlang:function_exported(Type, attribute_names, 1) andalso
           erlang:function_exported(Type, new, tuple_size(Record) - 1);
   is_boss_record(_, _) ->
       false.
  
positive.code: -module(boss_record_lib).
  -export([run_before_hooks/2, 
          run_after_hooks/3,
          run_before_delete_hooks/1,
          is_boss_record/2,
  
negative.code:     list_to_binary(Val);
  convert_value_to_type(Val, binary) when is_binary(Val) ->
      Val;
  convert_value_to_type({{D1, D2, D3}, {T1, T2, T3}}, Type) when is_integer(D1), is_integer(D2), is_integer(D3),
                                                                 is_integer(T1), is_integer(T2), is_float(T3) ->
      convert_value_to_type({{D1, D2, D3}, {T1, T2, round(T3)}}, Type);
  convert_value_to_type({{D1, D2, D3}, {T1, T2, T3}} = Val, integer) when is_integer(D1), is_integer(D2), is_integer(D3),
                                                                          is_integer(T1), is_integer(T2), is_integer(T3) ->
      calendar:datetime_to_gregorian_seconds(Val);
  convert_value_to_type({{D1, D2, D3}, {T1, T2, T3}} = Val, timestamp) when is_integer(D1), is_integer(D2), is_integer(D3),
                                                                            is_integer(T1), is_integer(T2), is_integer(T3) ->
      Secs = calendar:datetime_to_gregorian_seconds(Val) - calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}),
      {Secs rem ?MILLION, Secs div ?MILLION, 0};
  convert_value_to_type({{D1, D2, D3}, {T1, T2, T3}} = Val, datetime) when is_integer(D1), is_integer(D2), is_integer(D3),
                                                                           is_integer(T1), is_integer(T2), is_integer(T3) ->
      Val;
  convert_value_to_type({D1, D2, D3} = Val, date) when is_integer(D1), is_integer(D2), is_integer(D3) ->
  