Some more type traversal routines
Add dshapes constructor