Types and pretty-printing for interpreter