lib/linked/list.rb
def unshift(object)
      item = coerce_item object
      @_chain = empty? ? item.chain : @_chain.prepend(item)

      self
    end
def unshift(object)
      item = coerce_item object
      @_chain = empty? ? item.chain : @_chain.prepend(item)

      self
    end
Insert an item at the beginning of the list. If the given object is not an
 object responding to #item it will be treated as a value. The value will
 be wraped in a new Item create by #create_item.

 See Item#prepend for more details.

 @param object [#item, Object] the item to insert, or an arbitrary object.
 @return [self]