hack: now we need to replace the proceed of the proxy with its own
a bit ugly, operating based on the assumption that the proceed is
in its outputs (if proceed() was called) and/or in the
outputs of the otherwise or last when clause for the predicated version.