category-theory Scala project creation: sbt new scala/scala3.g8 Cats effect Scala3 sbt new typelevel/ce3.g8