let print_smap pp f smap = Format.fprintf f "@[<hv0>{:@[<hv2>"; SMap.iter begin fun k v -> Format.fprintf f "@ @[<2>%S =>@ %a@];" k pp v end smap; Format.fprintf f "@]@,:}@]"