I know there's no overloading methods in python. what's the best way to work around this? have different code paths testing explicitly for current data type combinations?
imo there's no need to overload functions in Python. Arguments haven't got any type, so you "believe", that input will be correct. By the way if you really want,you can check if object passed through parameter inside your method.