> three signatures : ASSOC, HIER, FOREST
> put a signature in the sig.ml file
> maybe there're other solutions or common practices

I don't know if this is common, but you could
put them in separate .ml files and call the types
ASSOC.T, HIER.T, and FOREST.T