functor (F : TYPE) -> sig  end