@xiangli-cmu You can remove this if you change `promotable` to a function.