Created by: natefaubion
I had added a destructed return value from enforest to get around the fact that destruct wasn't pure, but it was naive and problematic (it took the diff from toks and rest). I need to get the destructed syntax of the term to push onto prevStx. Since destruct mutated it's sources, it couldn't be called more than once on a term. This PR makes destruct pure by making copies in the cases where it used mutation, and removes the destructed reference from enforest.