What is benefit of type declaration:

```
type xxx
and yyy

```

over

```
type xxx
type yyy

```

To give it semantic that one depends on another?

I'm using [OcamlWin 4.0](http://caml.inria.fr/download.en.html) and the code is from `C:\OCaml\lib\hashtbl.ml`

```
  type ('a, 'b) t =
  { mutable size: int;                        (* number of entries *)
    mutable data: ('a, 'b) bucketlist array;  (* the buckets *)
    mutable seed: int;                        (* for randomization *)
    initial_size: int;                        (* initial array size *)
  }

and ('a, 'b) bucketlist =
    Empty
  | Cons of 'a * 'b * ('a, 'b) bucketlist

```

it compiles. When I change the `and` to `type`

```
type ('a, 'b) t =
  { mutable size: int;                        (* number of entries *)
    mutable data: ('a, 'b) bucketlist array;  (* the buckets *)
    mutable seed: int;                        (* for randomization *)
    initial_size: int;                        (* initial array size *)
  }

type ('a, 'b) bucketlist =
    Empty
  | Cons of 'a * 'b * ('a, 'b) bucketlist

```

compiles as well.