Have you actually stress-tested the dito duplication trick against the obvious alternatives like leaving cells empty or just dumping it as json? Because there's a real token-overhead tradeoff hiding there that's worth laying out, even if it's just a quick note. I get it tho - you're positioning this as an MVP , not some enterprise-grade production beast, so I'm not expecting a dissertation on comparisons. One more thing, the validation stuff like null density checks and type consistency probably lives better downstream in your RAG pipeline anyway rather than getting baked into the parser itself -- that's a cleaner separation of concerns. If you wanna level up the piece though, running a quick benchmark against pandas.read_html() on like 20-30 tables from the wild like timing, accuracy on those span edge cases, would actually help people know when to swap out their existing tools for yours. Overall this fills a real gap that people have been sleeping on, your grid solver is genuinely the right move