if (!(res = (TypeArgument *)(typ->copyarg((void *)argp))))
if (!(res = (TypeArgument *)(typ->copyarg((const void *)argp))))
static TypeArgument *Copy_Argument(const FIELDTYPE *typ,				   const TypeArgument *argp, int *err){  TypeArgument *res = (TypeArgument *)0;  TypeArgument *p;  if ( typ && (typ->status & _HAS_ARGS) )    {      assert(err && argp);      if (typ->status & _LINKED_TYPE)	{	  p = (TypeArgument *)malloc(sizeof(TypeArgument));	  if (p)	    {	      p->left  = Copy_Argument(typ,argp->left ,err);	      p->right = Copy_Argument(typ,argp->right,err);	      return p;	    }	  *err += 1;      }       else 	{	  if (!(res = (TypeArgument *)(typ->copyarg((void *)argp)))) 	    *err += 1;	}    }  return res;}