add unit/integrted tests for dpc

but it does not escape this function.  If it _is_ free and possibly interesting, why not return it along with `phi`?