Yeah, that looks good to me. In the past there were some annoying funny cases which meant that the complicated method was required, but it looks as though they are gone now. Note that the CTFE test suite (mainly the file interpret3.d) is really very extensive, and contains many, really tough tests for this stuff. If the test suite passes, you can have high confidence that you haven't broken anything.