Post-merge Todo of #71 Perhaps `std::invoke_result_t` is too heavy, or is not needed in the first place? <img width="1100" height="422" alt="Image" src="https://github.com/user-attachments/assets/ad7cc666-9bd9-43dc-b647-3097439b9f17" />