apply*() is now when*(), and can be implemented through the When trait.