Iterar instâncias de classes enumeradas

Existe uma maneira simples de iterar sobre todas as instâncias enumeradas de uma classe no Ceilão?

Assim comovalues() para enums Java?

abstract class Suit() of hearts | diamonds | clubs | spades {
    shared formal String name; 
}
object spades extends Suit() { name => "Spades"; }
object clubs extends Suit() { name => "Clubs"; }
object diamonds extends Suit() { name => "Diamonds"; }
object hearts extends Suit() { name => "Hearts"; }

Vamos dizer que eu gostaria de escolher um terno aleatório ou eu gostaria de imprimir todos os ternos pelos seus nomes.

Editar:

Adicionando explicitamente todas as ações a um iterável funciona, mas temos que listar todos os valores possíveis novamente.

{Suit+} suits = {spades, clubs, diamonds, hearts};

Alguém pode chegar a algo melhor?