// magic cast - bad actually. should remove
static A cget(O c, S field) {
c = derefRef(c);
O o = getOpt(c, field);
if (o instanceof Concept.Ref) ret (A) ((Concept.Ref) o).get();
ret (A) o;
}
static A mapMethodLike cget(S field, O c) {
ret cget(c, field);
}