Why the `T <: Real`? Couldn't you have any types in the inputs?