let fingerprint pool r =
    let env = { pool=pool ; vars=[] ; ctxt=F.p_true } in
    let r' = {
      cvars = Vmap.map (fp_map env) r.cvars ;
      roots = Imap.map (fp_map env) r.roots ;
      bases = List.map (fp_base env) r.bases ;
    } in
    env.vars , env.ctxt , r'