I take it none of this is currently used?

I'm always a bit wary of code that does does special checks for if the arg is a class versus another object to behave differently (e.g. class versus other object). It often feels like polymorphism gone wrong, where it risks masking errors from the caller when they pass in the wrong thing (i.e. they aren't being explicit about it). But I don't feel that strongly about it...