I have now done this. Was tempted to abuse the `Maybe Int` line number argument of `dieWithLocation`, but I wasn't happy converting the `Integer` offset to an `Int`, so kept the `atOffset` helper.