--
"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.
Eeeh, not exactly in English. English does make some distinction between fully compounded words and noun phrases, especially in rules of production. In a newer phrase like "wind farm", you can swap in more or less any noun you like, even if it doesn't make a lot of sense: "mud farm", "rock farm", "hair farm"... there's some rule like "substance + farm = a farm that produces that substance". With a word like "bedroom", you can get "bathroom", but not so much "deskroom"; there's no general rule like "furniture + room = room where that furniture is found". The space (in cases where it's pronounced) is kinda your hint there.
Anyway... I still don't believe in grammar, but y'all have mounted a spirited defense of the traditional analysis. I'm sorry I tried to say everything's an adjective :)