pipe(function)
Wrap a callable as a step factory.
The wrapped callable is preserved as the underlying operation while its metadata is copied to the wrapper.
Calling a pipe object creates a step containing the supplied arguments.
Args:
function: The callable to wrap.
Raises:
TypeError: If function is not callable.