Is there enough reuse opportunities for a `catdog_typing` library?
A catdog being a union of types where the developer needs more control over the duck type interface, e.g. `str | list[str]` - by duck typing, iteration does what you probably don't want. So ideally these pairs get wrapped and the duck type interface is replaced with something sensible.
`str | Path | 'filelike'` seem like another common catdog.