std::enable_if_t<B, void> eval_to(param_type& result) const { tuple_apply(eval_op_, tuple_cat(data_, std::tie(result))); }
auto eval_(std::integral_constant<size_t, 0>, std::index_sequence<N...>, Xs &&...xs) const { return tuple_apply(fun_, std::tuple_cat(args_, std::forward_as_tuple(std::forward<Xs>(xs)...))); }
auto param() const { return tuple_apply(op_, data_); }