# unions pydantic_v2.BaseModel
  > GET https://api.example.com/shapes
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  circle = ShapesGetResponse(root=Circle(radius=1))
  > GET https://api.example.com/shapes
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  square = ShapesGetResponse(root=Square(side=2))
  > GET https://api.example.com/pets
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  cat = PetsGetResponse(root=Cat(kind='cat', lives=9))
  > GET https://api.example.com/pets
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  dog = PetsGetResponse(root=Dog(kind='dog', good=True))
  > GET https://api.example.com/overlaps
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  paired = OverlapsGetResponse(root=Paired(x='s', y='t'))
  > GET https://api.example.com/overlaps
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  single, which the paired schema refuses = OverlapsGetResponse(root=Paired(x='s', y=None))
# unions pydantic_v2.dataclass
  > GET https://api.example.com/shapes
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  circle = Circle(radius=1)
  > GET https://api.example.com/shapes
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  square = Square(side=2)
  > GET https://api.example.com/pets
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  cat = Cat(kind='cat', lives=9)
  > GET https://api.example.com/pets
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  dog = Dog(kind='dog', good=True)
  > GET https://api.example.com/overlaps
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  paired = Paired(x='s', y='t')
  > GET https://api.example.com/overlaps
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  single, which the paired schema refuses = Paired(x='s', y=MISSING)
