drop :: Int -> LeftTransformation a -> LeftTransformation a
drop ix lt@(LeftTransformation nrs cs)
  | ix < 0 = lt
  | otherwise = LeftTransformation nrs' $
                  fmap (LTC.adjustOffset (subtract ix)) $ V.drop ix cs
  where
    nrs' = nrs - ix
drop :: Int -> LeftTransformation a -> LeftTransformation a
drop ix lt@(LeftTransformation nrs cs)
  | ix < 0 = lt
  | otherwise = LeftTransformation nrs' $
                  fmap (LTC.adjustOffset (subtract ix)) $ V.drop ix cs
  where
    nrs' = nrs - ix
drop ix lt@(LeftTransformation nrs cs)
  | ix < 0 = lt
  | otherwise = LeftTransformation nrs' $
                  fmap (LTC.adjustOffset (subtract ix)) $ V.drop ix cs
  where
    nrs' = nrs - ix