Obtendo elementos de uma HList

Eu brinquei com o HList e os seguintes trabalhos, conforme o esperado:

val hl = 1 :: "foo" :: HNil
val i: Int = hl(_0)
val s: String = hl(_1)

No entanto, não consigo trabalhar com o seguinte código (vamos supor por um momento o acesso aleatório às listas é uma idéia inteligente ;-)):

class Container(hl: HList) {
    def get(n: Nat) = hl(n)
}

val container = new Container(1 :: "foo" :: HNil)
val i: Int = container.get(_0)
val s: String = container.get(_1)

eu gostaria de terget retornar umInt eString de acordo com o seu parâmetro. Presumo que, se possível, eu tenho que usarAux ouat mas não tenho certeza de como fazer isso.

questionAnswers(1)

yourAnswerToTheQuestion