This is very similar to how I&#x27;ve been writing my Idris code. I start from the sort of core operations of a program and then slowly spread out from there, before finally incorporating IO at the end.