if (!( type().kind().value() == TCKind._tk_alias && has._type().kind().value() == kind ) )
  protected void check(int kind)                throws BAD_OPERATION  {    if (has == null)      throw new BAD_OPERATION("value not set");    if (xKind >= 0)      {        if (xKind != kind)          throw new BAD_OPERATION("Extracting " + typeNamer.nameIt(kind) +                                  " when stored " + typeNamer.nameIt(xKind)                                 );      }    else      {        if (type().kind().value() != kind)          throw new BAD_OPERATION("Extracting " + typeNamer.nameIt(kind) +                                  " stored " + typeNamer.nameIt(type())                                 );      }  }