replace `callIfFunc` with more powerful and public `repeater.resolve`