Adds more specialized constant types and simplifies uses of constantobj<Constant>.