(mk-test "flatteno-empty" (run* q (flatteno (list) q)) (list (list)))

(mk-test
  "flatteno-atom"
  (run* q (flatteno 5 q))
  (list (list 5)))

(mk-test
  "flatteno-flat-list"
  (run* q (flatteno (list 1 2 3) q))
  (list (list 1 2 3)))

(mk-test
  "flatteno-singleton"
  (run* q (flatteno (list 1) q))
  (list (list 1)))

(mk-test
  "flatteno-nested-once"
  (run*
    q
    (flatteno (list 1 (list 2 3) 4) q))
  (list (list 1 2 3 4)))

(mk-test
  "flatteno-nested-twice"
  (run*
    q
    (flatteno
      (list
        1
        (list 2 (list 3 4))
        5)
      q))
  (list (list 1 2 3 4 5)))

(mk-test
  "flatteno-keywords"
  (run* q (flatteno (list :a (list :b :c) :d) q))
  (list (list :a :b :c :d)))

(mk-tests-run!)
