intermediate commit of Generator monad for procedural generation of primitives and combinations of them