def insert(value, index)
      result = case index
      when 0 then prepend(value)
      when -1 then append(value)
      else
        index += 1 if index.negative?
        insert_script(keys: @key, argv: [value, index])
      end

      return coerce_bool(result)
    end
def insert(value, index)
      result = case index
      when 0 then prepend(value)
      when -1 then append(value)
      else
        index += 1 if index.negative?
        insert_script(keys: @key, argv: [value, index])
      end

      return coerce_bool(result)
    end
Inserts the given value at the given zero-based index.
 TODO: Support multiple insertion like Array#insert? The biggest issue
 here is that concatenating lists in Lua is O(n), so on very large lists,
 this operation would become slow. There are Redis Modules which implement
 splice operations (so a O(1) list split/merge), but there's no way to
 guarantee if the module will be present. Perhaps provide optional support
 if the module is detected?
 @param [#to_s] value the value to insert
 @param [#to_i] index the index at which to insert the value