/// <inheritdoc/>
 public bool Equals(HasVersion <TValue, TVersion> other)
 {
     if (!AdvancedComparerStruct <TValue> .System.Equals(Value, other.Value))
     {
         return(false);
     }
     return(AdvancedComparerStruct <TVersion> .System.Equals(Version, other.Version));
 }
        /// <inheritdoc/>
        public int CompareTo(HasVersion <TValue, TVersion> other)
        {
            int result = AdvancedComparerStruct <TValue> .System.Compare(Value, other.Value);

            if (result != 0)
            {
                return(result);
            }
            return(AdvancedComparerStruct <TVersion> .System.Compare(Version, other.Version));
        }