The compiler reads a .urp file, figures out which .urs and .ur files it references, and combines them all into what is conceptually a single sequence of declarations in the core language of Section 4.2.