inner is declared using a short variable declaration. The variable
inner has type
func(in reflect.Value) reflect.Value. The value is the function literal in the code.
func(in reflect.Value) reflect.Value represents a generic function implemented by reflection. The function takes a possibly empty slice of arguments and returns a possibly empty slice of results.
reflect.Value for a function is not directly callable. The
Call method is used to call the function in the value.
.(func(a, b int) int) is a type assertion.