#pragma once #include namespace Seele { template concept invocable = std::invocable; template concept serializable = requires(T t, Archive& a) { t->save(a); t->load(a); }; template concept enumeration = std::is_enum_v; }