Notes on a new STM function, track(), which I think I'm just going to
implement on top of my current STM system instead of attempting to rewrite it