The signature in toplevel/genprintval.ml is like this:
module type EVALPATH =
sig
type value
val eval_path: Path.t -> value
exception Error
val same_value: value -> value -> bool
end
which conflicts camlp4 parser.(value is reserved as a key word). So when you want to make use of functor Genprintval.Make, conflict appears. This is not a big issue, but it may be more friendly to camlp4 if it's fixed.