functor (M : S0_phantom) -> sig  end