would it be terrible to return `(p1[0], None)` as to ensure that the return type (i.e., `tuple`) is always the same?