   #   IO.puts " context: " <> inspect context
   #   IO.puts " output:  " <> inspect output
   # end
+
 end
 
 # run this inline suite with "elixir #{__ENV__.file} test"

  end

  @doc """
  Drop number context if no more digits.
  """
  def parse(<<n, t::binary>>, [:number | context], output) when not n in @digits do

  def parse(<<?}, t::binary>>, [:pair, :object | context], output) do
    debug "Closing pair context", t, context, output
    parse(<<?}>> <> t, [:object | context], output)
  end

  @doc """
  Object close character in object, array context. Pop object context, expect comma_or_close_array.
  """
  def parse(<<?}, t::binary>>, [:object, :array | context], output) do
    debug "Closing object context in array and expecting comma_or_close_array", t, context, output
    parse(t, [:comma_or_close_array, :array | context], output <> <<?},?]>>)
  end

  @doc """
