Check arg type on the fly; cached value isn't accurate