Fix #486: dispatcher shouldn't allow unsafe conversions of input arguments

Also fix an undetected bug in Rating.operator < !