Ocaml: Error - this expression has type x but is used with type x
ocaml, tuareg
Solution
There's a good description of this in the ocaml tutorial. What's happened is you have shadowed a type definition with a new definition:
type nfa = int
let f (x: nfa) = x
type nfa = int
let g (x: nfa) = x
Restarting the top-level will clear out the old definitions.
Problem
This is my error: ``` Error: This expression has type nfa but is here used with type nfa ``` What could possibly be happening to cause this? I'm using emacs tuareg, and loading evaluating files one by one. Sometimes this happens, and other times it doesn't.