Some modules can be compiled when imported, but not as a main project module

With the example program below, compiling clm a works fine, but clm -PABC b does not: Error [b.dcl,5,b]: c generic undefined. This can be resolved by importing c from the b implementation module, but why does this error not appear when compiling a, which imports b?

imports.tar.gz