anchor.diff:  
   -spec stats_add_row([{integer(), number(), number(), []}], [binary()]) -> [tuple()].
   stats_add_row([], _) -> [];
  -stats_add_row([{Count, Sum, Squares, HashList} = Result | RestResult], [Element | RestRow]) ->
  +stats_add_row([{Count, Sum, Squares, HashList} | RestResult], [Element | RestRow]) ->
       case bin_to_number(Element) of
  -        {error, _} -> [Result | stats_add_row(RestResult, RestRow)];
  +        {error, _} -> [{Count, Sum, Squares, [Element | HashList]} | stats_add_row(RestResult, RestRow)];
           Number -> [{Count+1, Sum+Number, Squares + Number*Number, [Element | HashList]} | stats_add_row(RestResult, RestRow)]
       end.
   
   -spec format_stat_rows([binary()], [{integer(), number(), number(), []}], pos_integer()) -> list().
   format_stat_rows([], _, _) -> [];
  -format_stat_rows([ColName | RestColNames], [{0, _, _, _} | RestResult], Idx) ->
  -    [[Idx, nop, ColName, 0, 0, 0, 0, 0]] ++ format_stat_rows(RestColNames, RestResult, Idx+1);
  +format_stat_rows([ColName | RestColNames], [{0, _, _, HashList} | RestResult], Idx) ->
  +    case HashList of
  +        [] -> Hash = 0;
  +        _ ->     Hash = erlang:phash2(list_to_binary(lists:reverse(HashList)))
  +    end,
  +    [[Idx, nop, ColName, 0, 0, 0, 0, Hash]] ++ format_stat_rows(RestColNames, RestResult, Idx+1);
   format_stat_rows([ColName | RestColNames], [{1, Sum, _, HashList} | RestResult], Idx) ->
       Average = Sum,
       Hash = erlang:phash2(list_to_binary(lists:reverse(HashList))),
  
positive.code:                 end
              end, [], lists:zip(RowColumns, Avgs))),
          StatsRowsZipped = zip5(ColNames, Counts, Totals, Avgs, StdDevs),
          case Counts of
              [0] -> Hash = 0;
              _ -> Hash = erlang:phash2(list_to_binary(Rows))
          end,
          StatsRows = [lists:append(lists:nth(1, [[Idx, nop | tuple_to_list(lists:nth(Idx, StatsRowsZipped))] || Idx <- lists:seq(1, length(Avgs))]), [Hash])],
          ?Debug("Stat Rows ~p", [StatsRows]),
          StatColumns = [<<"column">>, <<"count">>, <<"sum">>, <<"avg">>, <<"std_dev">>,<<"hash">>],
  
negative.code:                         _ -> []
                      end
              end,
              if CandidateRow =:= []  -> {SelectRows, SelectHashList};
                  true ->
                      lists:foldl(fun(Idx, {SelRows, SelHashList}) ->
                          Candidate = lists:nth(Idx, CandidateRow),
                          CandidateList = element(Idx, SelRows),
                          case bin_to_number(Candidate) of
                              {error, _} -> {SelRows, SelHashList ++ [Candidate]};
                              _ -> {erlang:setelement(Idx, SelRows, CandidateList ++ [Candidate]), SelHashList ++ [Candidate]}
                          end
                      end,
                      {SelectRows, SelectHashList},
                      lists:seq(1, size(SelectRows)))
              end
          end
          , {list_to_tuple(lists:duplicate(length(ColNames), [])), []}
          , TableUsed),
      try
          RowColumns = [[bin_to_number(I) || I <- Row] || Row <- tuple_to_list(Rows)],
          Counts  = [length(C) || C <- RowColumns],
          Totals  = [lists:sum(C) || C <- RowColumns],
          Avgs    = calculate_avgs(Totals, Counts),
  