private Type ConstructType()
 {
     return(Type.IsGenericTypeDefinition
                         ? Type.MakeGenericType(TypeArguments.ToArray())
                         : Type);
 }