support return type for broadcast_function