cats.free
FreeInvariantMonoidal[S, *] has a FreeInvariantMonoidal for any type constructor S[_].
FreeInvariantMonoidal[S, *]
S[_]