refactor: remove fiber proc stuff
Refactor fiber implementations. There used to be a big mess of Callee
traits which were supposed to optimize the case of fiber functions which returned the unit type ()
. This has been simplified, and the optimizations are now more explicit based on the is_unit_type::<T>()
function.
Basically the compile-time dispatch has been replaced with run-time checking, but this actually shouldn't degrade the performance, because it should be pretty easy for the compiler to optimize the new code.
Anyway the simplification of the code is probably worth it even if the performance decreases a bit.