This looks great, I am so sick of YAML.<p>While it's probably fine for most of the use cases you're predicting, if someone who isn't quite familiar with Python's gotchas decides to subclass, or modify one of the items at runtime, it will be a tricky thing to troubleshoot. Even though that is a rite of passage for Python developers, it's probably best to not have examples that could set them up for weird bugs.<p>edit:
I was talking about mutable types at the top level of a class, and somehow left that out.