private bool Equals(ServerVersion other)
 => Version.Equals(other.Version) &&
 Type.Equals(other.Type) &&
 Equals(TypeIdentifier, other.TypeIdentifier);
 /// <summary>
 /// Tries to converts a string, containing the server version and type, into a <see cref="ServerVersion"/>.
 /// </summary>
 /// <param name="versionString">The server version (mandatory) and type (optional).</param>
 /// <param name="serverVersion">The <see cref="ServerVersion"/>.</param>
 /// <returns><see langword="true" /> if the conversion was successful, otherwise <see langword="false" />.</returns>
 /// <remarks>
 /// The general format is `major.minor.patch-type`, e.g. `8.0.21-mysql` or `10.5.3-mariadb`. If the type is being omitted, it is
 /// assumed to be MySQL (and not MariaDB).
 /// </remarks>
 public static bool TryParse(string versionString, out ServerVersion serverVersion)
 => TryParse(versionString, null, out serverVersion);