I'm not sure I understand how this is different from function overloading