Looking into async-task, I found it stores it's future and output as a union, while Forte stores the op to call and the output as a struct. This can help save stack space with deeper recursion trees.
Alternatively, if we know we're copying the return value somewhere, we can opt to directly write the output of the job to that location instead of to a space inside the job, writing to a *mut MaybeUninit<T> instead of a result value in the job.