function get_at(head, index):

   node = head
   steps = 0
   while steps < index:
      node = node.next # must hop node by node
      steps += 1
   return node.value # O(index) -- unlike array[index], which is O(1)
