code: def before
        return to_enum(__callee__) unless block_given?
        return if chain_head?
  
        item = prev
  
        loop do
          yield item
          item = item.prev
        end
      end
docs: Iterates over each item before this, in reverse order. If a block is not
   given an enumerator is returned.
  
   Note that raising a StopIteraion inside the block will cause the loop to
   silently stop the iteration early.