Parsing invalid data does not throw an exception anymore; Instead it returns an error-Result object.
Returns a Result object that either contains a parsed value or an error, instead of just throwing an error. This encourages parsing of data over validating it and provides assistance with TypeScript types of parsed variables.