stagePlanner.go
func elideLiterals(root *evaluationStage) *evaluationStage {

	if root.leftStage != nil {
		root.leftStage = elideLiterals(root.leftStage)
	}

	if root.rightStage != nil {
		root.rightStage = elideLiterals(root.rightStage)
	}

	return elideStage(root)
}
func elideLiterals(root *evaluationStage) *evaluationStage {

	if root.leftStage != nil {
		root.leftStage = elideLiterals(root.leftStage)
	}

	if root.rightStage != nil {
		root.rightStage = elideLiterals(root.rightStage)
	}

	return elideStage(root)
}
func elideLiterals ( root * evaluationStage ) * evaluationStage { if root . leftStage != nil { root . leftStage = elideLiterals ( root . leftStage ) } if root . rightStage != nil { root . rightStage = elideLiterals ( root . rightStage ) } return elideStage ( root ) }
/*
	Recurses through all operators in the entire tree, eliding operators where both sides are literals.
*/
/ * Recurses through all operators in the entire tree eliding operators where both sides are literals .