pub fn sqrt(&self) -> Option<(Self, Self)> {
        let sqrts = F::sqrt(&self.value);
        sqrts.map(|(sqrt1, sqrt2)| (Self { value: sqrt1 }, Self { value: sqrt2 }))
    }
Returns the two square roots of a field element, provided it exists
The function returns the roots whenever the field element is a quadratic residue modulo p
crates/math/src/field/element.rs