specify types
use strict map
implementing stuff
initial version of G-machine