Я просматривал стандартную библиотеку 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
Спасибо