Right now if you use multiple history objects,
we append to all of them,
resulting in n**2 memory (and time) cost for seqential calls,
especially since we create additional dictionaries to store extra information.
If we can manage to share them, then this can be reduced.
More importantly, this would reduce jank and duplicate data,
allowing e.g. writing to the history (right now it's kept immutable to the user).
Right now if you use multiple history objects,
we append to all of them,
resulting in n**2 memory (and time) cost for seqential calls,
especially since we create additional dictionaries to store extra information.
If we can manage to share them, then this can be reduced.
More importantly, this would reduce jank and duplicate data,
allowing e.g. writing to the history (right now it's kept immutable to the user).