(import "@prelude")
(import "@map" :map)
(letq map ())
(assert (not (map::contains :key map)))
(map::insert! '(:key 1) map)
(assert (map::contains :key map))
(assert (eq (map::extract :key map) 1))
(map::insert! '(:key2 2) map)
(assert (eq (map::extract :key2 map) 2))
(assert (eq (map::extract :key map) 1))
(assert (map::contains :key2 map))
(map::remove! :key2 map)
(assert (not (map::contains :key2 map)))