Oℕ
trait Scheduler[F[_]] {
def schedule(duration: FiniteDuration)(fu: F[Unit]): Resource[F, F[Unit]
}
object Scheduler{
def apply[F[_]: Concurrent: Timer]: Scheduler[F] = new Scheduler[F] {
def schedule(duration: FiniteDuration)(fu: F[Unit]): Resource[F, F[Unit] = ???// какая-то реализация
}или
object Scheduler {
def schedule[F[_]: Concurrent: Timer])(duration: FiniteDuration)(fu: F[Unit]): Resource[F, F[Unit] = ?? // та же самая реализация
}



