Module Labels

Attached to unit

Attached to nothing

module A : sig ... end
type t

Attached to type

val f : t

Attached to value

val e : unit -> t

Attached to external

module type S = sig ... end
class c : object ... end
class type cs = object ... end
exception E

Attached to exception

type x = ..
type x +=
| X

Attached to extension

module S := A

Attached to module subst

type s := t

Attached to type subst

type u =
| A' (*

Attached to constructor

*)
type v = {
f : t; (*

Attached to field

*)
}

Testing that labels can be referenced