Encapsulating and managing state variables is similar to forming and
managing structures. When we first apply a function that abstracts over
state variables we provide initial values for some of the variables. The
service manager serves the (current) value of these variables, which is
similar to extracting the values of fields in structures. Not surprisingly
then, the technique can simulate the constructors and selectors of a
<#69241#><#51811#>`define-struct`<#51811#><#69241#> definition. This simulation naturally suggests the
introduction of functions that modify the value in a structure's field. The
following subsections spell out the details behind this idea; the last
subsection generalizes it to vectors.