Alternative parseList with do notation