used typeinfo to get different names for different types of custom functions, so they are registered as different objects. polar functions still have the same name as R^3 -> R though.