Layout specification and discovery should follow the same behavior as partials

Fixes #1047
that isn't the choice we've made in a number of `interface`s.  don't remove existing `[NotNull]` attributes.