return type deduction.