Instead of being two separate functions that need to be carefully called
relative to each other, it is a single function that consumes an output
location. Fundamentally, this is no different from the previous design,
except that it does not depend on the user doing some elaborate dance
with their stack in "the middle" of the deref operation.
Fixed #15 and fixes #16 and closes #24, which it effectively replaces.
Instead of being two separate functions that need to be carefully called relative to each other, it is a single function that consumes an output location. Fundamentally, this is no different from the previous design, except that it does not depend on the user doing some elaborate dance with their stack in "the middle" of the deref operation.
Fixed #15 and fixes #16 and closes #24, which it effectively replaces.