let fp_addr env p =
    if A.closed p then p else
      let x,q = A.fresh env.pool in
      env.vars <- x :: env.vars ;
      env.ctxt <- F.p_and env.ctxt (A.equal q p) ; q