refactor how AssignmentExpression is enforested