use functools.wraps for chained parsers
no need to import readline :\