use Promise.Bool instead of has_result/value.