docs: def parse_options(files, env_prefix='CONFPY', strict=True):
      """Parse configuration options and return a configuration object.
  
      Args:
          files (iter of str): File paths which identify configuration files.
              These files are processed in order with values in later files
              overwriting values in earlier files.
          env_prefix (str): The static prefix prepended to all options when set
              as environment variables. The default is CONFPY.
          strict (bool): Whether or not to parse the files in strict mode.
  
      Returns:
          confpy.core.config.Configuration: The loaded configuration object.
  
      Raises:
          MissingRequiredOption: If a required option is not defined in any file.
          NamespaceNotRegistered: If a file contains a namespace which is not
              defined.
          OptionNotRegistered: If a file contains an option which is not defined
              but resides under a valid namespace.
          UnrecognizedFileExtension: If there is no loader for a path.
      """
      return check_for_missing_options(
          config=set_cli_options(
              config=set_environment_var_options(
                  config=configuration_from_paths(
                      paths=files,
                      strict=strict,
                  ),
                  prefix=env_prefix,
              ),
          )
      )