added case expressions to type checker