Major, finalized functorized version of Basic rules - still missing the last few function implementations.
-> This module-structure is to serve as a future example of how an intertwined set of functions could
   be redefined pr. submodule. The current Basic ruleset is not intertwined in other ways than through
   the Gstate.t type (and subtypes).