making use of type inference for argument types