(d last
(q (
(list)
(i (e () (t list)) (h list)
(last (t list))))))
(d _rev
(q (
(orig new)
(i (e () (t orig)) (c (h orig) new)
(_rev (t orig) (c (h orig) new))))))
(d rev
(q (
(list)
(_rev list ()))))
(d append
(q (
(val list)
(rev (c val (rev list))))))
(d ->>
(q (
(list)
(i (e () (t list)) (v (h list))
(->> (c (v (append (h list) (h (t list)))) (t (t list))))))))
(->>
(q (
5
(s 0)
(s 1)))