#pragma once #include template using Scope = std::unique_ptr; template using Ref = std::shared_ptr; template constexpr Ref CreateRef(Args&& ... args) { return std::make_shared(std::forward(args)...); }