I'd adher to the convention that implementations of `Foo` in companion object of `Foo` don't repeat `Foo` in their name.

Writing `Scheduler.WorkstealingTreeScheduler` is redundant - `Scheduler.WorkstealingTree` already conveys enough information.
In the long run, workstealing tree scheduler should maybe live in its own source file, at which point we might wish to rename it, but until then...