Following up from #1427 We shouldn't exclude `a.b._version` from the `a.b` layer contract. Only from `a._version`, `c._version`, etc.