Creating a function template is most appropriate when ___________.

a. you want a function to take multiple arguments

b. you need several functions with the same name, but the logic is different depending on the arguments

c. you are writing several functions that take different argument types, but use the same logic

d. you want only one version of a function to exist so as to avoid confusion