def deserialize_durable_record_to_current_model(record, current_model):
    """
    Utility function that will take a Durable Dynamo event record and turn it into the proper Current Dynamo object.

    This will properly deserialize the ugly Dynamo datatypes away.
    :param record:
    :param current_model:
    :return:
    """
    # Was the item in question too big for SNS? If so, then we need to fetch the item from the current Dynamo table:
    if record.get(EVENT_TOO_BIG_FLAG):
        # Try to get the data from the current table vs. grabbing the data from the Durable table:
        return get_full_current_object(record['dynamodb']['Keys']['arn']['S'], current_model)

    new_image = remove_durable_specific_fields(record['dynamodb']['NewImage'])
    data = {}

    for item, value in new_image.items():
        # This could end up as loss of precision
        data[item] = DESER.deserialize(value)

    return current_model(**data)