totally owned how to do two-step unmarshalling with proper schema validation at each step