public vDescriptor Index(vValue i) {
public vDescriptor Index(vDescriptor i) {
public vDescriptor Index(vValue i) {    try {	long m = i.mkInteger().value;	if (m <= 0) {	    m += constr.fieldnames.length + 1;	}	if (m < 1 || m > constr.fieldnames.length) {	    return null; /* FAIL */	}	return values[(int)m-1];    } catch (iError e) {    }    try {	int k = constr.find(i.mkString().toString());	if (k >= 0) {	    return values[k];	}    } catch (iError e) {    }    return null;}