let exists p a =
    List.exists 
      (fun m -> 
         p (coefficient_of_mono m) (variable_of_mono m))
      (nonconstant_monomials_of a)