TLazyEnableIf

This is a variant of the above that will determine the return type 'lazily', i.e. only if the function is enabled.