imo we need to validate the ``foo`` object as the root object may not cascade validation.