code: func (list *SkipList) Get(key interface{}) *Element {
  	var prev *elementNode = &list.elementNode
  	var next *Element
  	score := getScore(key, list.reversed)
  
  	for i := list.level - 1; i >= 0; i-- {
  		next = prev.next[i]
  
  		for next != nil &&
  			(score > next.score || (score == next.score && list.keyFunc.Compare(key, next.key))) {
  			prev = &next.elementNode
  			next = next.next[i]
  		}
  	}
  
  	if next != nil && score == next.score && !list.keyFunc.Compare(next.key, key) {
  		return next
  	}
  
  	return nil
  }
docs: // Gets an element.
  // Returns element pointer if found, nil if not found.