Add contract for dynamic records
else
blame (tag "not a record" l);
+ dyn_record = fun contr l t =>
+ if isRecord t then
+ mapRec (fun _field => contr l) t
+ else
+ blame (tag "not a record" l);
+
rec_extend = fun field contr cont acc l t =>
if hasField field t then
let acc = acc$[field = contr (goField field l) (t.$field)] in
