code: func (s *FIFO) Push(t T) {
  	node := &queueNode{v: t, next: nil}
  	if s.front == nil {
  		s.front = node
  		s.back = node
  	} else {
  		s.back.next = node
  		s.back = node
  	}
  	s.size++
  }
docs: // Push adds a new element onto the LIFO.