@hongminhee Have you considered functional maps (e.g. HAMT)? Whenever you add a "variable binding" (key value pair) you get a new instance with this binding added, but don't modify the original data structure.
@hongminhee Have you considered functional maps (e.g. HAMT)? Whenever you add a "variable binding" (key value pair) you get a new instance with this binding added, but don't modify the original data structure.