The design of a module concept for high-level systems programming languages is discussed. It is shown that a modular language that fully supports D. L. Parnas' (1972) principle of information hiding while at the same time maintaining module independence cannot be translated using standard techniques. An alternative transition process is proposed that is based on partial module binding at the intermediate code level and allows the design of modular languages where implementation details of all types of objects exported from a module may be safely hidden. It is shown that this translation process will make important language constructs such as inline subprograms, iterators, and generic units efficiently implementable without introducing any module interdependencies. This in turn will reduce the amount of recompilation necessary when exported objects are changed.