Fixed class constraint matching, bad recursion