This got me wondering: What recent flashes of insight/comprehension have you had recently? How did they affect your approach to the problem you were trying to solve? How did they increase your understanding of things that have been bouncing around inside your head not quite grokked?
Mine was the nature of Javascript promises. It seems so obvious right now, after struggling with it since sometime Friday, but a promise is basically a delayed and not guaranteed assignment.
Most of the time (assuming proper or no typing and properly declared and, if necessary, initialized variables), assignments are immediate and guaranteed and immutable: Assign something to X and the value of X is that thing and will be until you change X or it goes out of scope (assuming no side-effect bugs).
A promise is really two parts:
1. An immediate temporary assignment of a placeholder, and, sometime later,
2. Replacement of that placeholder with either an actual immutable value, as in normal, synchronous assignment, or an indication as to why the assignment could not be completed.
My guess now is that in typed languages, promises require that variables assigned via promises must support a "maybe" sort of assignment, as in, "can be the declared type OR a promise rejection reason".
Anyway, back to work.