step_func propagates result, Promise examples