local type inference