A more useful thing could potentially be to use the "F# Compiler Service" (which is the compiler API, exposed via a nice F# library) and create some tool that checks purity. I think many people might actually be interested in something like this.
If we are talking about building a language in F#, remember that is possible to use any language for that.
In fact is make support for side-efects and mutating that complicate the build of a compiler/interpreter.
ParserUtils is where maybeIndented and indented are. They make indentation just work. There currently overzealous with backtracking though, makes errors kinda shit. Working on that at somepoint.
https://gist.github.com/xavierzwirtz/99479a11f1eefd3215467f7...
But this not look more easy than just do it as TopDown Parser. But I don't know your language so it maybe have provided you with some benefits more than just lines of code?