Why does `transforms.TimeStretch` return `complex64`?

Good day!

torchaudio 2.1.1

TimeStretch — Torchaudio 2.1.0 documentation :

Stretched spectrogram. The resulting tensor is of the same dtype as the input spectrogram, but the number of frames is changed to ceil(num_frame / rate).

s = torchaudio.transforms.Spectrogram()(x)
s.dtype  # => torch.float32

t = torchaudio.transforms.TimeStretch(fixed_rate=0.9)(s)
t.dtype  # =>  torch.complex64

Why?