==========================================
top-level errors
==========================================

[}

---

(ERROR (UNEXPECTED '}'))

==========================================
unexpected tokens
==========================================

barf

---

(ERROR (UNEXPECTED 'b'))

==========================================
errors inside arrays
==========================================

[1, , 2]

---
(array
    (number)
    (ERROR (UNEXPECTED ','))
    (number))

==========================================
errors inside objects
==========================================

{ "key1": 1, oops }

---

(object (string) (number) (ERROR (UNEXPECTED 'o')))

==========================================
errors inside nested objects
==========================================

{ "key1": { "key2": 1, 2 }, [, "key3": 3 }

---

(object
    (string) (object
      (string) (number)
      (ERROR (UNEXPECTED '2') (number)))
    (ERROR (UNEXPECTED '['))
    (string) (number))
