Should be moved to public static method of `UnexpectedValueException` imo