code: func (self *list) Reverse() List {
  	reversed := NewList()
  	self.ForEach(func(v interface{}) { reversed = reversed.Cons(v) })
  	return reversed
  }
docs: // Reverse returns a list with elements in opposite order as this list