     end
   end
 
-  def map_find_match(_, _, []) do
+  defp map_find_match(_, _, []) do
     []
   end
 
-  def map_find_match(i, value, [head | tail]) do
+  defp map_find_match(i, value, [head | tail]) do
     {i2, value2} = case head do
       {<<"_", x>>, [value2, 0, 0]} -> {<<x>>, value2}
       _ -> {"", ""}

    |> Enum.into(%{})
  end

  def diff(i1, i2) when not (is_list(i1) and is_list(i2))
                    and not (is_map(i1) and is_map(i2)) do
    case i1 === i2 do
      true -> nil

      case Dict.has_key?(map1, k) do
        true ->
          case Dict.has_key?(map2, k) do
            true -> {k, do_diff(Dict.get(map1, k), Dict.get(map2, k))}
            false -> {k, [Dict.get(map1, k), 0, 0]}
          end
        false -> {k, [Dict.get(map2, k)]}
