Use snoc operation of Data.DList to evaluate function arguments efficiently.