Break monolithic flow function into a curried version
Add appropriate types
Add a state monad definition
Add some contracts to abstract-data and abstract-register-environment
Switch abstract.rkt to monads
Use vectors instead of hash-maps
finish wide store modifications