--
"Grain silo" and "fish pond" are exactly-precisely compound nouns. It's just that English refuses to accept that it's a Germanic language and instead puts on airs. Honest languages would of course never dream of inserting pretentious spaces between the constituent parts.
I actually thought of "stone chimney" as a compound noun instead of adjective + noun when I wrote it, precisely because I wanted to mock that and really hammer home the point. Unfortunately, the two look the same in English (but not in Danish) -- and I was tired -- so I didn't catch it and replace it with a better example.