/// <summary>
 /// Returns the type arguments which this instance was constructed with.
 /// </summary>
 public                    Type[] GetArguments(TypeConverter formatter) => formatter.GetArguments(this.Value.Value);
        /// <summary>
        /// Returns a constructed version of this instance.
        /// </summary>
        public GenericGrainInterfaceType Construct(TypeConverter formatter, params Type[] typeArguments)
        {
            var constructed = formatter.GetConstructed(this.Value.Value, typeArguments);

            return(new GenericGrainInterfaceType(new GrainInterfaceType(constructed)));
        }