Check out concepts. That allows you to enforce the existence of the function. Also works with static functions and such.