First class modules let you package up a module in the module level language into a value, so you can pass it around in the expression language. But 1ML's goal is to eliminate the separation between the module language and expression language. So, 1ML can do first-class modules, but first-class modules do not mean a syntactically un-stratified language.
https://realworldocaml.org/v1/en/html/first-class-modules.ht...