Extensions can add new initializers to existing types. This enables you to extend other
types to accept your own custom types as initializer parameters, or to provide additional
initialization options that were not included as part of the type’s original implementation.