Algebraic effects for stable Rust compatible with no_std and without macros