I mean making change of time more explicit: more directly observable, manipulatable, and constrainable. This can take many forms. Here's an example.
Step 0: Setup
Imagine a fairly conventional imperative system. We have a bunch of boxes (variables) in which we can put values.
Step 1: Observable
We show which values go which boxes in what order. Often systems let us check state only in the moment or keep dubious logs about what happened in the past. Forget asking about the future. Imagine lining up the boxes. We might be able to scrub forward and backward through time, or add a timeline showing what values were in each box when.
Step 2: Manipulatable
Good old structured programming is kind of nice on this front. Each assignment statement records how the contents of a box change. Suppose we directly manipulate the boxes in some other way, then we can record a script of the assignments made. Glue scripts together. Good, clean fun.
Step 3: Constrainable
Except we don't abstract cleanly from the step-to-step to composable recipes. With functions/procedures, we keep track of arguments and return values, but we don't keep track of what boxes get examined or updated. We can't easily tell if ordering of calls matters, and we cannot easily require that things always happen in a certain order.