Почему перед этим типом стоит знак плюс?

Я просматривал стандартную библиотеку ocaml и наткнулся на этот код в файле map.ml.

module type S =
  sig
    type key
    type +'a t
    val empty: 'a t'

Мне интересно, почему естьtype +'a tи почему автор использует его, а не просто'a t.
Его поведение странно, и я не могу вывести его использование.

# type +'a t = 'a list;;
type 'a t = 'a list
# type +'a t = +'a list;;
Characters 13-14:
  type +'a t = +'a list;;
               ^
Error: Syntax error

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос