Indeed, there currently is only support for listing options, but as you said, there should be
 - profiles
 - jsr303 validation
 - etc

So, while we *could* bring those back to ModuleOptions (or whatever its future name), I assumed it made sense to construct that runtime representation *once* and then act on it.

From some of your other comments, I believe a better naming could be
ModuleOptions -> ModuleOptionsMetadata
InterpolatedModuleOptions -> ModuleOptions (or maybe RuntimeModuleOptions)

I'm not sure I understand fully the last paragraph of your previous comment. Arguably, this is exactly what we have now [ modulo the naming ] (or maybe the difference lies in the "*plus* the raw properties as passed") But then, what do the raw values give us?