в этом плане в расте было б мило иметь throws модификатор который эквивалентен -> Result<T, Box<dyn Error>>
в конце концов, async же - тоже обертка вокруг impl Future, так что и throws можно так же. А еще было б мило иметь синтаксическую абстракцию вокруг Box / not Box. Чтоб ты разрешал компилятору боксить или не боксить, по ситуации. Как в свифте