Fix the PrepareForReuse() function

The original one will cause bugs when parsing
`std::vector<std::shared_ptr<std::tuple<...>>>` or similar classes