fn follow_head(
    origin: (isize, isize),
    head_positions: Vec<(isize, isize)>
) -> Vec<(isize, isize)>