public override int GetHashCode()
 {
     unchecked
     {
         return(TypedElements.Aggregate(TypedElements.Count, (current, element) => (current * 397) ^ (element?.GetHashCode() ?? 0)));
     }
 }
        public bool Equals(HerculesVector <TValue> other)
        {
            if (other == null)
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (TypedElements.Count != other.TypedElements.Count)
            {
                return(false);
            }

            return(TypedElements.SequenceEqual(other.TypedElements));
        }