witness branch finally compiles