Variant - fixed default handling for AsObject() to not cache default value