docs: def deserialize_current_record_to_durable_model(record, current_model, durable_model):
      """
      Utility function that will take a dynamo event record and turn it into the proper pynamo object.
  
      This will properly deserialize the ugly Dynamo datatypes away.
      :param record:
      :param current_model:
      :param durable_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):
          record = get_full_current_object(record['dynamodb']['Keys']['arn']['S'], current_model)
  
          if not record:
              return None
  
          serialized = record._serialize()  # pylint: disable=W0212
  
          record = {
              'dynamodb': {
                  'NewImage': serialized['attributes']
              }
          }
  
          # The ARN isn't added because it's in the HASH key section:
          record['dynamodb']['NewImage']['arn'] = {'S': serialized['HASH']}
  
      new_image = remove_current_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 durable_model(**data)