Could we define `as` as taking a subset of traits that simply excludes `Foo + Bar`? You can then use `x as (Foo + Bar)` if you need that.