finish 'case' typechecker (untested)

That was painful.  I'm really unhappy with the code.
complete Pretty TyCheckError instance