Even more clarification on Type piracy

All you need is to have a single type that you “own” in the argument list of a function you are extending, for it not to be considered type piracy (but it can’t just be a type in the keyword arguments, because those aren’t dispatched on [yet])
I have a lot of functions that I extend, where the first argument might be String, and the second one be one that I “own” (*Str or *Chr, for example), but that isn’t type piracy, since only things using my types can possibly be affected.