Make row inference slightly smarter

Now it works as long as one of the arguments is, in
all cases, a row polymorphic class type