anchor.diff:              toJson/1
           ]).
   
  +% -- Macros   --
  +% is_float(X) ; is_integer(X) is ugly
  +-define(is_number(Value), is_float(Value) ; is_integer(Value)).
  +
  +% Nulls/Undefined are the only atom besides true and false which can be stored in json
  +-define(is_allowed_atom(Value), Value =:= null ; Value =:= undefined ; is_boolean(Value)).
  +
  +
  +
  +% -- Functions --
   % Takes a Erlang Map and outputs a JSON String representation of it
   toJson() ->
       {err, no_object}.
  
positive.code:             print("[],~n", [], Depth, Buffer)
      end;
  
  consumeArrIndex(Value, Depth, Buffer) when is_integer(Value); is_float(Value) ->
      print("~w,~n", [Value], Depth, Buffer);
  
  consumeArrIndex(Value, Depth, Buffer) when is_bitstring(Value) ->
  
negative.code:             print("\"~s\": []~n", [Key], Depth, Buffer)
      end;
  
  consumeNode(Key, Value, Depth, Buffer) when ?is_number(Value) ; ?is_allowed_atom(Value) ->
      print("\"~s\": ~w,~n", [Key, Value], Depth, Buffer);
  
  consumeNode(Key, Value, Depth, Buffer) when is_bitstring(Value) ->
  