(1) -> msqrt:=operator('msqrt)
conj1:Ruleset(Integer,Complex Integer, Expression Complex Integer) := ruleset([ _ rule sqrt(-1)*:a==msqrt(-1)*a, _ rule -sqrt(-1)*:a==-msqrt(-1)*a _ ]$List RewriteRule(Integer, Complex Integer, Expression Complex Integer) )
conj2:RewriteRule(Integer,Complex Integer, Expression(Complex Integer)):= rule msqrt(-1)==-sqrt(-1)
conj(z)==conj2 conj1 z
conj(a+%i*b)
Compiling function conj with type Polynomial(Complex(Integer)) -> Expression(Complex(Integer))