2014 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2014) Module systems like that of Haskell permit only a weak form of modularity in which module implementations directly depend on other implementations and must be processed in dependency order. Module systems like that of ML, on the other hand, permit a stronger form of modularity in which explicit interfaces express