17
I was browsing ocaml's standard library, and came across this code in the map.ml file.
module type S =
sig
type key
type +'a t
val empty: 'a t'
I'm wondering why there is type +'a t, and why the author use it instead of simply 'a t.
Its behaviour is strange and I can't deduce the usage of it.
# 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
Thanks