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