public static TContext Set <TContext, T>(this TContext ctx, ContextProperty <T> prop, ArgumentUtilitiesHandle <T> value) where TContext : class, IContext { // if (ctx is null) { throw new ArgumentNullException(paramName: nameof(ctx)); } else if (prop is null) { throw new ArgumentNullException(paramName: nameof(prop)); } // prop.SetLocalValue(ctx: ctx, value: value); return(ctx); }