docs: def generate_version(
      current_version: str, increment: str, prerelease: Optional[str] = None
  ) -> Version:
      """Based on the given increment a proper semver will be generated.
  
      For now the rules and versioning scheme is based on
      python's PEP 0440.
      More info: https://www.python.org/dev/peps/pep-0440/
  
      Example:
          PATCH 1.0.0 -> 1.0.1
          MINOR 1.0.0 -> 1.1.0
          MAJOR 1.0.0 -> 2.0.0
      """
      pre_version = prerelease_generator(current_version, prerelease=prerelease)
      semver = semver_generator(current_version, increment=increment)
      # TODO: post version
      # TODO: dev version
      return Version(f"{semver}{pre_version}")