Partial support for recursive schemas.  A lot of stuff is still broken.