Eventually resolved the problem whereby in fringe cases an X exit might want to be forward or backward diagonal.