The type returned now is a _PDF, which is not so nice when we introduce more modularity as in #5, in which case we have to set the return types of functions building partial PDFs to _PDF. Overriding the __init__ should also work, while keeping the option to pass the rows as positional arguments (which is mainly an aesthetic feature).