fmapExpressionOfDegree :: Int -> Q Exp
fmapExpressionOfDegree n = do
  (id_, fmap_) <- (,) <$> [|id|] <*> [|fmap|]
  pure $ foldr (AppE . AppE fmap_) id_ (replicate n fmap_)
fmapExpressionOfDegree :: Int -> Q Exp
fmapExpressionOfDegree n = do
  (id_, fmap_) <- (,) <$> [|id|] <*> [|fmap|]
  pure $ foldr (AppE . AppE fmap_) id_ (replicate n fmap_)
fmapExpressionOfDegree n = do
  (id_, fmap_) <- (,) <$> [|id|] <*> [|fmap|]
  pure $ foldr (AppE . AppE fmap_) id_ (replicate n fmap_)