Como delegar uma chamada para [0 .. <n] rapidamente?

fundo

Por conveniência, usei esse alias:

typealias Deck = [Int]

Minhas necessidades estão se expandindo, por isso agora converti meu código para:

class Deck
{
  var deck : [Int]
  // ... other members
}

Consigo delegar a maioria das minhas chamadas paraself.deck, mas depois de pesquisar um pouco sobre o assunto, ainda estou tendo problemas para descobrir como delegar esta chamada:

let deck = Deck()
for i in deck[0..<5] { }   // <--- PROBLEMS HERE

Pergunta, questão

Como implemento a delegação desta chamada?

Eu acho que tem algo a ver comsubscript erange (ou talvezsequence?), mas não tive sorte pesquisando a interseção desses dois tópicos.

questionAnswers(1)

yourAnswerToTheQuestion