CharMap.t
- это карта от char
до 'a
, поэтому на самом деле ее тип равен 'a Charmap.t
, поэтому вы забыли указать полиморфный аргумент. Поэтому вы должны написать:
type 'a trie = bool * 'a CharMap.t option
Если вы хотите, чтобы ваша карта была мономорфной (например, char -> int
), вы можете просто написать:
type trie = bool * int CharMap.t option