`serialize()` is now recursive and requires that the mapping exists. Sub-objects are now handled correctly, as a result.