Parser can create ast of for in loop and most of the parer logic is moved to a trait