Right now we're not being careful about 'optional' in witness tables
for parseable interfaces; we're listing the requirement as the
implementation even if the requirement is optional. As long as we
don't optimize based on that information, though, we should be okay.
We can't devirtualize through these conformances anyway, so we can get
a (probably tiny) speedup by not doing any resolution of non-type
witnesses.
rdar://problem/43824088
We already have something called "module interfaces" -- it's the
generated interface view that you can see in Xcode, the interface
that's meant for developers using a library. Of course, that's also a
textual format. To reduce confusion, rename the new module stability
feature to "parseable [module] interfaces".