Provide broadcast_function separate from broadcast, make broadcast(f) = f()

Also provide separate broadcast!_function