SPEC has a runtime cost if constructor specialization isn't performed
As far as I know,
SPEC is merely intended to help the compiler identify calls for which constructor specialization may be help. Yet it's not erased! In fact, it has a runtime representation which we need to construct and pass around to so-marked calls. This likely isn't killing the performance of anyone's programs but surely we can do better than this.
Really, the whole scheme of marking functions with
SPEC (which as far as I know isn't even properly documented) seems quite odd. What is stopping us from simply attaching pragmas to equations?