public override int GetHashCode() { return (start.GetHashCode() ^ end.GetHashCode() ^ type.GetHashCode()); }