;; A Vec's elements are in a block the allocator owns and the frame does not, ;; so a function value pushed into one outlives whatever environment it ;; carries. Refused for that, and not for the shape of the element type: a Vec ;; of function values is a perfectly good thing to want, and is what case 3 ;; is for. (defn stash [v (Vec (Fn [] i32)) f (Fn [] i32)] () (push v f)) (defn main [] i32 0)