Module Resolution.Complicated_2

A very complicated example of resolution

module type Type = sig ... end
module App (T : Type) (F : functor (_ : Type) -> Type) (M : F(T).T) : F(T).T
module Bar : sig ... end
module Foo (T : Type) : sig ... end
module FooBarInt : sig ... end