treat primitive numerical as comparable. closes #9