Scheme, SICP, R5RS, por que o atraso não é um formulário especia

Isto é referente ao capítulo 3.5 do SICP, no qual os fluxos estão sendo discutidos. A ideia é que:

(cons-stream 1 (display 'hey))

Não deve avaliar a segunda parte do fluxo de contras, por isso não deve imprimir "ei". Isso acontece, eu recebo a seguinte saída:

hey (1. # <promessa>)

Então, minha conclusão é que o atraso não é implementado como um formulário especial? Ou estou fazendo algo errado? Eu uso a seguinte implementação:

(define (cons-stream a b) 
  (cons a (delay b)))

Com o atraso sendo a implementação padrão do R5RS. Isso é uma falha na implementação ou não estou fazendo ou entendendo direito?

questionAnswers(1)

yourAnswerToTheQuestion