I think the discussion about non-type generic parameters in the proposal is a bit of a red herring. Constant evaluation is likely to be neither necessary nor sufficient to support this. Because of Swift’s generics model, we can support dynamic non-type generic parameters, so . Making type equality judgments might be able to use constant evaluation in some situations, but it’s likely we’ll want to support more flexible bidirectional deduction of at least some things, like integers. I think it’s largely an independent feature.