Closed pomadchin closed 3 months ago
A => F[_]
A => Kleisli / WriterT / WriterT / etc
Kleisli / WriterT / WriterT / etc
A
algWithGenericType
algWithCurryMethod
AlgWithVarArgsParameter
A => U[F]
F[_] => F[_]
NoEffectMethod
ContravariantEff
InvariantEff
AlgWithTypeMember
WithExtraTpeParam
AlgWithExtraTP2
AlgWithDef
AlgWithTypeParam
AlgWithCurryMethod
AlgWithByNameParameter
Mb I was too hasty and it makes sense to deal with invariant in a separate PR.
I think I can improve SemigroupalK a bit; but mb it can be an iterative followup PR; I oversimplified the SemigroupalK macro - we also need do to smth with F[_] args there + the Semigroupal case support.
Semigroupal
A => F[_]
A => Kleisli / WriterT / WriterT / etc
Kleisli / WriterT / WriterT / etc
=>A
algWithGenericType
algWithCurryMethod
AlgWithVarArgsParameter
A => F[_]
A => U[F]
F[_] => F[_]
A => Kleisli / WriterT / WriterT / etc
Kleisli / WriterT / WriterT / etc
=>A
NoEffectMethod
ContravariantEff
InvariantEff
AlgWithTypeMember
WithExtraTpeParam
AlgWithExtraTP2
AlgWithDef
AlgWithTypeParam
AlgWithCurryMethod
AlgWithVarArgsParameter
AlgWithByNameParameter
Mb I was too hasty and it makes sense to deal with invariant in a separate PR.