Refactor to so parse() is now just Ha() and no IO dependencies