This reverts commit f9729a311c. Reverting because this lost the underlying type information of the constants.
f9729a311c