def METHOD_NAME(cls, dct):
    """
    Recursively replace all instances of decodable types with their decoded
    values.
    You'll want to have used ``class_encode()`` in your encoder to get this
    to work properly.
    """
    if "__jsonclass__" not in dct:
        return dct
    if len(dct["__jsonclass__"]) == 0:
        raise ValueError("__jsonclass__ must not be empty")
    decoded_name = dct["__jsonclass__"][0]
    params = dct["__jsonclass__"][1:]
    for classname, decoder in cls.decoders.items():
        if decoded_name == classname:
            return decoder(*params)
    return dct