def drop(number)
      raise Erlang::ImproperListError if improper?
      list = self
      while !list.empty? && number > 0
        number -= 1
        list = list.tail
      end
      return list
    end
def drop(number)
      raise Erlang::ImproperListError if improper?
      list = self
      while !list.empty? && number > 0
        number -= 1
        list = list.tail
      end
      return list
    end
Return a `List` containing all items after the first `number` items from
 this `List`.

 @example
   Erlang::List[1, 3, 5, 7, 6, 4, 2].drop(3)
   # => Erlang::List[7, 6, 4, 2]

 @param number [Integer] The number of items to skip over
 @return [List]