minor fixes to use __list__ instead of doing things by hand

and fixed Ideal < Ideal