impure_method_impl.m:026: In type class method implementation: impure_method_impl.m:026: purity error: predicate is semipure. impure_method_impl.m:026: It must be declared `semipure' or promised pure. impure_method_impl.m:026: In call to semipure predicate impure_method_impl.m:026: `impure_method_impl.foo_m1'/2: impure_method_impl.m:026: purity error: call must be preceded by `semipure' impure_method_impl.m:026: indicator. impure_method_impl.m:027: In type class method implementation: impure_method_impl.m:027: purity error: predicate is impure. impure_method_impl.m:027: It must be declared `impure' or promised semipure. impure_method_impl.m:027: In call to impure predicate impure_method_impl.m:027: `impure_method_impl.foo_m2'/2: impure_method_impl.m:027: purity error: call must be preceded by `impure' impure_method_impl.m:027: indicator.