pattern-mathing is not exhaustive警告がうざいからと言って、
let f x =
match x with
A -> ...
| B -> ...
...
| Q -> ...
| _ -> print x; assert false
とか書いておくと、あとで新らしいコンストラクタRを足したときに、忘れることがわかった。
let f x =
try
match x with
A -> ...
| B -> ...
...
| Q -> ...
with
Match_failure _ -> print x; assert false
と書くようにしよう。