def METHOD_NAME(
    obj: Any, codec: Codec = Codec.JSON, coerce_to_float: bool = True
) -> dict:
    """Given a dataclass object, return a json-friendly dict.
    All values will be checked to ensure they match the types specified
    on fields. Note that a limited set of types and data configurations is
    supported.
    Values with type Any will be checked to ensure they match types supported
    directly by json. This does not include types such as tuples which are
    implicitly translated by Python's json module (as this would break
    the ability to do a lossless round-trip with data).
    If coerce_to_float is True, integer values present on float typed fields
    will be converted to float in the dict output. If False, a TypeError
    will be triggered.
    """
    out = _Outputter(
        obj, create=True, codec=codec, coerce_to_float=coerce_to_float
    ).run()
    assert isinstance(out, dict)
    return out