Well that door has been opened for a while now with these: `isSomeFunction`, `isCallable`, `isFunctionPointer`, `isSomeFunction`.

If we're going to make isDelegate take only types then we should do the same for the other templates. We have to be consistent in allowing or disallowing expressions.