imperative-edsl-0.8.3: Deep embedding of imperative programs with code generation