Sit is now associated type of BAT (i.e., lifts regression necessity).

Thus the BAT can, e.g., write
   instance BAT Prim where
      data Sit Prim = S0 | Do Prim (Sit Prim)
and then use regression.

However, it may alternatively define a situation to be some state
representation.
How does Levesque do this in Programming Cognitive Robotics do this with
Lisp?