Because housenumber is not subordinate to housename, so the house name becomes something like a terraced subsection of the street with its own little name. Indeed, "For UK addresses **the house name will appear before any house number when the address is written out on an envelope (and after any unit number)**" -- https://wiki.openstreetmap.org/wiki/Addresses_in_the_United_Kingdom

I don't think we want that, but avoiding it with substreet is clumsy, true. If you want the number appearing before the building name, like

133 Peacock House
Baynhams Drive
[...]

they have to be addr:flats or addr:unit.

Of course, we can't do the addr:interpolation trick with at that level - it only interpolates addr:housenumber and nothing else.

Peacock house is quite illustrative, by the way. Even the ground floor apartments at the back with their own doors, overlooking the lake, have their letterboxes inside the common lobby at the street front. They too are subordinate to the building despite being much more house-like in character.

I'd be happiest with the following, I think:

```
addr:unit=123b
addr:housename=Peacock House
addr:street=Baynhams Drive
addr:suburb=Wolvercote
addr:city=Oxford
```

which formats the way we want it, as:

```
123b Peacock House
Baynhams Drive
Wolvercote
Oxford
```

Good plan? There's nothing saying that streets can't have gaps in their addr:housenumber runs, or that flat/unit numbers have to start at 1! Nor anything that the one sequence can't take over from the other for a bit.