introducing type inference for return