version 5 includes several breaking changes from version 4, mostly designed to improve interoperability with TS optional no longer accepts null, just undefined. This is to bring it inline with TypeScript and many other libraries' interpretation of optional values. isShape now converts all T | undefined properties to optional properties in the validator schema type. This eliminates the requirement

