Legend:
Library
Module
Module type
Parameter
Class
Class type
module type S = sig ... end
type 'a t = (module S with type t = 'a)