I guess my worry is that you're allowing such flexible input that there's going to be a lot of logic in ``__init__`` to figure out what is what, and that could have a performance hit for a low-level class that users aren't likely to often use in practice directly.