Voglio sapere come funziona   whileTrue:   . Ho cercato l'implementazione in   BlockClosure   : 
whileTrue: aBlock 
    ^ [self value] whileTrue: [aBlock value]
E un'altra implementazione senza parametro:
whileTrue
    ^ [self value] whileTrue: []
Ma non so come funzioni, questo è un metodo ricorsivo, ma questo mi ha portato a porre diverse domande:
- Come si conclude questa chiamata ricorsiva?
 -  Se   
[self value]restituisce un oggettoBoolean, perchéwhileTrue:non è implementato nel tipoBoolean? -  Perché esiste un'altra implementazione denominata   
whileTrueche non riceve alcun blocco e valutaself?