  Recently, a simple but powerful language for expressing and learning general
policies and problem decompositions (sketches) has been introduced in terms of
rules defined over a set of Boolean and numerical features. In this work, we
consider three extensions of this language aimed at making policies and
sketches more flexible and reusable: internal memory states, as in finite state
controllers; indexical features, whose values are a function of the state and a
number of internal registers that can be loaded with objects; and modules that
wrap up policies and sketches and allow them to call each other by passing
parameters. In addition, unlike general policies that select state transitions
rather than ground actions, the new language allows for the selection of such
actions. The expressive power of the resulting language for policies and
sketches is illustrated through a number of examples.
