constant != rational. Is there any reason why this won't work for symbolic constants?