inlineDataGen :: (Ord c, Ord tc, Ord tv)
  => TcEnv v c tc tv -> Map tc (DataGen c tv (Sized m))
  -> (Map tc [(Int, DataPat c tc tv)], Map tc [(Int, DataPat c tc tv)])
inlineDataGen env g =
  let inlinedBase = inlineBaseGen env g
      inlined = inlineData env (Map.keysSet g)
  in (inlined, inlinedBase)
inlineDataGen :: (Ord c, Ord tc, Ord tv)
  => TcEnv v c tc tv -> Map tc (DataGen c tv (Sized m))
  -> (Map tc [(Int, DataPat c tc tv)], Map tc [(Int, DataPat c tc tv)])
inlineDataGen env g =
  let inlinedBase = inlineBaseGen env g
      inlined = inlineData env (Map.keysSet g)
  in (inlined, inlinedBase)
inlineDataGen env g =
  let inlinedBase = inlineBaseGen env g
      inlined = inlineData env (Map.keysSet g)
  in (inlined, inlinedBase)