revise Case

Now we can pattern on arbitrary things, but we have to scope the scrutined
explicitely.
fix reduce for Case