;;;; A Vec of a Vec is representable and would be wrong. The runtime is ;;;; type-erased: it copies and releases elements bytewise, so `clone` would ;;;; duplicate the inner headers instead of copying what they own, and `free` ;;;; would drop their buffers on the floor. spec-memory.md makes clone a deep ;;;; copy and makes free recurse structurally into owning fields; recursive ;;;; teardown is what `drop` brings, and this is refused until it does rather ;;;; than shipping the shallow answer under the deep name. (defn rows [xs (Vec (Vec i32))] i32 0) (defn main [] i32 0)