I created a complete toolkit to generate DDL in Oracle V5.0.17 (yes, many moons ago) in Pro*C (GUI & CL) and I was maintaining it up until 8iR3.
At that point, the Oracle Data Dictionary had become bigger than I had time for, so I never incorporated support for anything that came after 8iR3.
We switched from 8iR3 to 11gR2 in production in November of 2011 and one of the post production tasks is to replace my Pro*C toolkit. In doing this, I wanted to simplify as much as possible the need to know Oracle objects in terms of the Oracle Data Dictionary, thus the code I have.
I started with what you suggested, but saw the simplicity in this and changed direction. I guess you cannot have everything.
Well I suspect Oracle might introduce the functionality eventually (wishful thinking), but metadata_api itself is a big step compared to previous mechanisms. Even then, I suspect we will still have a special place for all those home-grown scripts for special needs.