WIP: where subclass support

fails float32 nan test, needs 4622 merged to work