sO cget(O c, S field) { c = derefRef(c); O o = getOpt(c, field); ret derefRef(o); } sO mapMethodLike cget(S field, O c) { ret cget(c, field); }