Parameterless constructor
new()
By far the most readable way to new up T.
As long as your type has a parameterless constructor - you're good to go. It's
also worth noting that this is just syntactic sugar - it's still very much
reflection.
You can implement this method very simply.