you should add 2 ``is_callable`` checks IMO to provide good error reporting for people misusing it (as the typehint it a no-go on 5.3)