def append(*items, max: 0, exists: false)
      max = max.to_i
      results = if max.positive? || exists
        push_and_trim_script(keys: @key, argv: [max - 1, false, exists] + items)
      else
        self.connection.rpush(@key, items)
      end

      return results
    end
def append(*items, max: 0, exists: false)
      max = max.to_i
      results = if max.positive? || exists
        push_and_trim_script(keys: @key, argv: [max - 1, false, exists] + items)
      else
        self.connection.rpush(@key, items)
      end

      return results
    end
Appends the given items (from the right) to the list
 @param [Array<#to_s>] items the items to append
 @param [Integer] max optional; if given, appends the items and trims down the list to max afterwards
 @param [Boolean] exists optional; if true, only appends iff the list already exists (i.e. is not empty)
 @return [Integer] the number of items appended to the list