if (a instanceof NaturalNumber) {
return Naturals.sqrt((NaturalNumber) a);
} else if (!a.isNegative()) {
if (a instanceof IntegerNumber) {
return Naturals.sqrt(a.toNatural());
} else if (a instanceof RationalNumber) {
return sqrt((RationalNumber) a);
}
}
} else if (x instanceof Multiplication) {