anchor.diff:  %% @doc Return the value as a list
   %% @end
   %%
  -as_atom(Value) when is_atom(Value) =:= true -> Value;
  -as_atom(Value) when is_binary(Value) =:= true -> list_to_atom(binary_to_list(Value));
  -as_atom(Value) when is_list(Value) =:= true -> list_to_atom(Value);
  +as_atom(Value) when is_atom(Value) -> Value;
  +as_atom(Value) when is_binary(Value) -> list_to_atom(binary_to_list(Value));
  +as_atom(Value) when is_list(Value) -> list_to_atom(Value);
   as_atom(Value) ->
     autocluster_log:error("Unexpected data type for atom value: ~p~n", [Value]),
     Value.
  
positive.code: -export([as_atom/1,
           as_integer/1,
           as_string/1,
           node_name/1,
           parse_port/1]).
  
  
negative.code: %% @end
  %%
  as_integer([]) -> undefined;
  as_integer(Value) when is_list(Value) -> list_to_integer(Value);
  as_integer(Value) when is_integer(Value) -> Value;
  as_integer(Value) ->
    autocluster_log:error("Unexpected data type for integer value: ~p~n", [Value]),
    Value.
  