It turns out we've already made some modules! Reason treats the .re source files as modules, so our src/Ch01/Ch01_Demo.re and src/Ch02/Ch02_Demo.re files are automatically available as modules, with the names Ch01_Demo and Ch02_Demo, respectively. In the Reason world, these are called implementation files. We will informally refer to them as file modules.
Reason names file modules purely from their file names, ignoring their directory nesting. It makes every module automatically available from every other module, regardless of where they are physically in the project. This is why we were careful to name our modules with chapter prefixes; otherwise, files from different chapters but with the same names would confuse the compiler.
Let's take advantage of Reason's automatic module resolution, by creating a new (file) module that refers to something in...