// magic cast static A cget(O c, S field) { 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); }