Colander is a good schema validation and conversion library. It can compare a complex document against a schema with nested nodes, validators and convertors and provide sensible feedback when validation fails (it raises an exception with a special method that returns a dictionary of attributes and error messages).
So, Colander fits well the niche of //doqu.Document// with the exception of dealing with backends, converting and saving data. It seems to be too complex for many cases but it may be worth at least providing drop-in support for it.
The major problem is that Colander's validators of course cannot contribute to queries. But Doqu can provide its own validators with support for queries. We should also investigate the option of reusing Colander's API for backend type convertors.