public override int GetHashCode() { var argumentsHash = TypeArguments.Aggregate(0, (x, y) => x.GetHashCode() ^ y.GetHashCode()); return((Name != null ? Name.GetHashCode() : 0) ^ argumentsHash); }