In the same way that a function takes parameters whose value we don’t know in order to write code once that will be run on multiple concrete values, we can write functions that take parameters of some generic type instead of a concrete type like i32 or String.
The sentence can be broken up into 2 parts (noise removed):
A):
In the same way that a function takes [generic] parameters whose value we don’t know
B)
we can write functions that take parameters of some generic type instead of a concrete type
So basically, in the same way there may be generic functions, we can write a generic function.
The sentence can be reduced to "We can write generic functions that take some generic type instead of a concrete type like i32 or String.".