An issue that I'm about to bump into is bringing the tests (and examples?) inline with this new generalised API.
To get the types to align, due to
val csrf = CSRF.withGeneratedKey[OptionT[IO, ?], IO](clock = testClock).value.unsafeRunSync().get
... which is fairly disgusting (and I think will need to be repeated several times through the test).
Any suggestions for things I can do to mitigate this in the implementation?