Could we possibly directly reuse the code from Colander._SchemaNode.deserialize then?