{-@ LIQUID "--reflection"     @-}

-- not ok
data Thing0 m = Thing
  { t0 :: (m Int -> Int) -> Int
  }

-- not ok
data Thing1 m = Thing1
  { t1 :: (Int -> m Int) -> Int
  }

-- ok
data Thing2 m = Thing2
  { t2 :: Int -> m Int -> Int
  }