anchor.diff:          {_, _, _} ->
               find(T, Node);
           T ->
  -            Value;
  +            if
  +                Value == error ->
  +                    error;
  +                true ->
  +                    {ok, Value}
  +            end;
           _ ->
               error
  -    end.
  +    end;
  +
  +find(_, []) ->
  +    error.
   
   %%-------------------------------------------------------------------------
   %% @doc
   %% ===Find a value in a trie by prefix.===
   %% @end
   %%-------------------------------------------------------------------------
  +
  +-spec find_prefix(string(), trie()) -> {ok, any()} | 'prefix' | 'error'.
   
   find_prefix([H | _], {I0, I1, _})
       when H < I0; H > I1 ->
  
positive.code:      "aaa",
       "aa"] = trie:foldl(fun(Key, _, L) -> [Key | L] end, [], RootNode4),
      RootNode5 = trie:store("a", 0, trie:store("aaaa", 2.5, RootNode4)),
      2.5 = trie:find("aaaa", RootNode5),
      error = trie:find("aaaa", RootNode4),
      2.5 = trie:find_prefix("aaaa", RootNode5),
      prefix = trie:find_prefix("aaaa", RootNode4),
      2.5 = trie:fetch("aaaa", RootNode5),
      {'EXIT', {if_clause, _}} = (catch trie:fetch("aaaa", RootNode4)),
  
negative.code:     [{"abcdefghijklmnopqrstuvwxyz", 1}, {"aac", 2}, {"aabcde", 3}] =
          foldl(fun(K, V, A) -> [{K,V} | A] end, [], RootNode1),
      error = trie:find("aabcde", RootNode0),
      {ok, 3} = trie:find("aabcde", RootNode1),
      RootNode2 = trie:erase("aac", RootNode0),
      {ok, 1} = trie:find("abcdefghijklmnopqrstuvwxyz", RootNode2),
      {97,98,{{{98,98,{{[],[2]}}},[1]},{"c",[3]}}} =
          RootNode3 = trie:new([{"a", [1]},{"ab", [2]},{"bc", [3]}]),
      {97,98,{{{98,98,{{[],[2]}}},[1,2]},{"c",[3]}}} =
  