There are some functions in parser.ml that have uncivilized names: arr, arl, arj, and arj1st. Please name them something nicer.