restrict changing `p` in capture phase.