can the compile deal with the exhaustiveness of: ``` match a with | 0 -> 0 | x when x > 0 -> pred x | x when x < 0 -> succ x ```