ref: b0f3b09fc1b44a8cd0715af65774fe3296b9e016
dir: /lib/std/mk.myr/
use "alloc" pkg std = generic mk : (val : @a -> @a#) ;; /* Takes a value, and heapifies it. FIXME: This depends on inlining and copy propagation in order to be efficient. Neither of those are currently implemented. That means that this function is not efficient. It's still damn convenient, though, so it's in. */ generic mk = {val var p p = alloc() p# = val -> p }