@Donavin: You need do nothing, anymore. I have now altered the declaration of my_defstat() with an optional boolean parameter. If omitted, the default handling will be functionally equivalent to the old, before ever it was speculative. Only if called with a parameter of true will it use the speculative value.
This ought to do nicely for that function, at least for now. However, the knowledge that _spec is empty when no speculation has happened -- rather than simply returning unmodified values -- lends a spurious nature to several other of my functions which were made transparent to speculation; has_goal(), for instance, is now almost certainly circumspect. A broader solution is needed.
@Theraze: It is indeed unfortunate that this script author, full knowing the import of including non-numeric characters, yet chooses to do so. Those of us with a sense of propriety look for the day when he may yet remove this extraneous letter, and relieve the mafia-employing world of much noisome clutter.
I have this night been reading an illuminating recounting of the 1893 Chicago World's Fair, and my mind is thereto inundated with the speech of this long bygone era; I must beg your pardon for my affected idiom.