This function applies a function to an object, with additional arguments passed to the function
using the ...
argument. The mapping object specifies how the function is to be applied,
and can take many different forms, depending on the object and function used. The return value
depends on the function used.