+ if (MPLIST_MTEXT_P (pl))
+ {
+ MText *mt = MPLIST_MTEXT (pl);
+
+ if (mtext_nchars (mt) != mtext_nbytes (mt))
+ MERROR (MERROR_IM, -1);
+ }
+ else if (MPLIST_PLIST_P (pl))
+ {
+ MPlist *p;
+
+ MPLIST_DO (p, MPLIST_PLIST (pl))
+ if (! MPLIST_SYMBOL_P (p))
+ MERROR (MERROR_IM, -1);
+ }
+ else if (! MPLIST_INTEGER_P (pl))