And just a quick aside (since you’re referring to my code)… in this specific case the brackets were unnecessary, but the function just above uses the type T in the body of the code to ensure type stability of the constant:
function whitened_pca{T}(o::Whiten{T})
y = normal_pca(o)
y[:] = y ./ sqrt.(o.e .+ T(1e-8))
y
end