Lo, back these many moons ago, I ventured to experiment with DB, and found it most supremely pleasing. ( http://www.geocities.com/Athens/5168/coding/db.html )
Then I discovered the gimbal lock (which later was solved by causing the roll/pitch/yaw commands to use quaternions).
In my pride, before the fix, I thought to create a library that would permit conversions from euler angles to quaternions, and hence create three new functions, quat_roll, quat_pitch, quat_yaw.
I found that there were great things that stood in my way. Though my memory fails me, I believe these were they.
DLLs could not be called (this one I know, has since fallen).
Arrays could not be redimensioned.
Arrays could not hold arrays.
Arrays could not be defined within routines.
Arrays could not be returned anonymously from routines.
No mesh deformations (height of mesh elements defined in a 2d array).
And in the face of these foes, I fled. I found another community, and I help there now instead.
I return now to ask the simple question: have these issues been routed, or are they still with us?