parsing and pretty printing abstract types