EPA : reconsider the DeltaPos encoding
This is a follow up from !2418 (comment 338141), and #19579
At the moment the exact printing types include a DeltaPos
defined as
data DeltaPos =
DP
{ deltaLine :: !Int,
deltaColumn :: !Int
} deriving (Show,Eq,Ord,Data)
But it actually has a different meaning depending on whether the delta is on the same line or a different one.
Replace this with
data DeltaPos
= SameLine { deltaColumn :: !Int }
| DifferentLine { deltaLine :: !Int, startColumn :: !Int }