Copy HNFs directly; only delay copying of thunks
Currently, copying is done (almost) fully lazily, so when a HNF has children a new interpret
node is created for these children. But when the HNF is strict in some of its arguments, this may cause issues when code using those children expects them to be evaluated already.
A special case of this is ARRAY
which is strict in its __ARRAY__
/__STRING__
argument. This is fixed in !76 (merged), but it needs to be done in general.
I need to ask John how this information can be obtained.
Edited by Clean Importer