class Kredis::Types::List

def append(*elements)

def append(*elements)
  rpush types_to_strings(elements, typed) if elements.flatten.any?
end

def clear

def clear
  del
end

def elements

def elements
  strings_to_types(lrange(0, -1) || [], typed)
end

def last(n = nil)

def last(n = nil)
  n ? lrange(-n, -1) : lrange(-1, -1).first
end

def prepend(*elements)

def prepend(*elements)
  lpush types_to_strings(elements, typed) if elements.flatten.any?
end

def remove(*elements)

def remove(*elements)
  types_to_strings(elements, typed).each { |element| lrem 0, element }
end

def set_default

def set_default
  append default
end