Piping is the correct way to flatten nested structures, so I’m not sure what would be more “elegant”. Yes, the syntax is a bit line-noisy looking, but frankly quite serviceable.
2020 Edit
The recommended syntax these days is to expand %
to ForEach-Object
. A bit more verbose but definitely more readable:
@($a | ForEach-Object {$_}).count