let join x1 x2 =
{
  start_p = if x1 = undefined_position then x2.start_p else x1.start_p;
  end_p   = if x2 = undefined_position then x1.end_p else x2.end_p
}