Enhancement enable function validation

It can be desirable to validate function inputs too when the function does not belong to an object; or for that matter when the function is not an instance function of an object (e.g. static and class methods) as well.

Previous behaviour enforced that only instance member functions of an object could be validated.