APIs like that are both good and bad because they let you do almost anything so make many optimisations either hard or impossible, and have a nasty habit of exposing implementation details which constrain future changes to the language implementation.<p>Even APIs such as JNI that do their best to abstract over such details tend to block a JIT&#x27;s view of what is going on and end up being a real pain.