+};
+
+template<typename T>
+using AlignedPtr = std::unique_ptr<T, AlignedDeleter<T>>;
+
+template<typename T>
+using LargePagePtr = std::unique_ptr<T, LargePageDeleter<T>>;
+
+std::string trace(Position& pos);
+Value evaluate(const Position& pos, bool adjusted = false, int* complexity = nullptr);
+void hint_common_parent_position(const Position& pos);