pure construction, fix CTFE bug