In terms of proposed usage emitting warnings is relatively straightforward. I guess p0 should become a new positional argument as part of this change (or some other name). How does one introduce a new positional argument whilst remaining back compatible? Using *args?