Improve newtype constraints in let-bindings
Improve newtype constraints in let-bindings

```
let f: type r s. r s t = e
```
instead of
```
let f: 'r 's. 'r 's t = fun (type r) -> fun (type s) -> (e : r s t)
```

close #64

ocaml-ppx/ocamlformat,ocaml-ppx/ocamlformat,ocaml-ppx/ocamlformat