code: def infer_struct(value: Mapping[str, GenericAny]) -> Struct:
      
      if not value:
          raise TypeError('Empty struct type not supported')
      return Struct(list(value.keys()), list(map(infer, value.values())))
docs: Infer the :class:`~ibis.expr.datatypes.Struct` type of `value`.