I think it's mostly related to my comment above about the name InterpolatedModuleOptions, but it seems odd that a ModuleOptions interface provides a method that returns what appears to be a specific type of ModuleOptions (it's not actually an implementation of that interface, but that's how it's related to the naming issue).