let rec change point v = 
  match point.link with
  | Info info
  | Link { link = Info info } ->
      info.descriptor <- v; info.descriptor
  | Link { link = Link _ } ->
      change (repr point) v