A TypeDefinition describes how to validate and cast a string into a given type.
Type definitions can be used in methods that read user text, such as cli.ask(), or File.getContentAs().
You can use one of the classes that have a built-in definition (see list below), or write your own.