Assume func is a synchronized function. tap(_ => func()) will call the function lazily. However, mapTo(func()) will call the function eagerly.
forkJoinwill not emit anything if the input is an empty array.forkJoinonly emit one value than complete.