typedGen g argGen (TcCon c _ args) =
  let cGen = g Map.! c
      cArgGen = Map.fromList
        . zip (genArgs cGen) $ typedGen g argGen <$> args
  in genData cGen cArgGen
typedGen g argGen (TcCon c _ args) =
  let cGen = g Map.! c
      cArgGen = Map.fromList
        . zip (genArgs cGen) $ typedGen g argGen <$> args
  in genData cGen cArgGen
typedGen g argGen (TcCon c _ args) =
  let cGen = g Map.! c
      cArgGen = Map.fromList
        . zip (genArgs cGen) $ typedGen g argGen <$> args
  in genData cGen cArgGen