The issue is that `gen_laguerre`

returns a symbolic expression, not a polynomial:

```
sage: g(4,-10,x)
1/24*x^4 + 11/12*x^3 + 143/16*x^2 + 715/16*x + 12155/128
sage: g(4,-10,x).parent()
Symbolic Ring
```

You want to deal with polynomials. I presume you are interested in the irreducibility as polynomials defined over the rationals. A simple way to transform the expressions into genuine polynomial is:

```
sage: g(4,-10,x).polynomial(QQ)
1/24*x^4 + 11/12*x^3 + 143/16*x^2 + 715/16*x + 12155/128
sage: g(4,-10,x).polynomial(QQ).parent()
Univariate Polynomial Ring in x over Rational Field
```

As you can see, they are all irreducible over the rationals:

```
sage: [g(n,-10,x).polynomial(QQ).is_irreducible() for n in range(2,11)]
[True, True, True, True, True, True, True, True, True]
sage: all([g(n,-10,x).polynomial(QQ).is_irreducible() for n in range(2,11)])
True
```

Note that the base ring is important, for example, they are of course not irreducible anymore on the algebraic numbers:

```
sage: [g(n,-10,x).polynomial(QQbar).is_irreducible() for n in range(2,11)]
[False, False, False, False, False, False, False, False, False]
```