@jakebolewski made a very good point. Unless we expose the rooting mechanism in another form as a macro (so that they can be used in language bindings), it is essential that `jl_call` does root its arguments