    class State
    {
        size_t d_value;

        public:
            Fibo get_return_object();

            std::suspend_always yield_value(size_t value);

            static std::suspend_always initial_suspend();
            static std::suspend_always final_suspend() noexcept;
            static void unhandled_exception();

            static void return_void();

            size_t value() const;
    };
