Cleanups/fixups, plus make <= what you'd expect (c1 <= c2 => c1 subclass of c2)