Generalize number parsers and add some printers