File an issue to track the design of UDAF API Perhaps something like ```rust // form `FIRST_VALUE(a ORDER BY b)` let agg_expr = AggregateUDF::call(first_value()) .args(col("a")) .order_by(vec![col("b")) .build()?; ``` _Originally posted by @alamb in https://github.com/apache/datafusion/pull/10492#discussion_r1599967446_