Through testing we determined that a depth of 8 is safe for the typescript compiler
and provides reasonable compilation times. This number is otherwise not special and
should be changed if issues are found with this level of checking. Beyond this
depth any helpers that make use of NestedPaths should devolve to not asserting any
type safety on the input.
returns tuple of strings (keys to be joined on '.') that represent every path into a schema https://www.mongodb.com/docs/manual/tutorial/query-embedded-documents/