Update for 4.02.

I even added proper support for extensible types, including autocomplete:
```
# exception Foo of int;;
exception Foo of int
# Foo 10;;
- : exn = Foo 10
# type bar = ..;;
type bar = ..
# type bar += Baz;;
type bar += Baz
# type bar += Hoge | Fuga;;
type bar += Hoge | Fuga
# [Baz; Hoge];;
- : bar list = [Baz; Hoge]
```