In OCaml, you can nest signatures:
module type FOO =
sig
module type BAR
(* … *)
end
I was just wondering if anyone had any examples of this in use, since I can’t think of any places where it would be needed. I imagine it’s probably useful in the return signatures of functors, but I can’t think of any specific things.