Simplify cast parsing by combining all three casts into one function
Slightly disambiguate tuples by making () always an expr