I'm not sure compile-time evaluation matters to constrained extensions (such as for protocol default implementations), unless you're talking about making compiler-evaluable code part of the type system.
I mean - it would be really cool...
extension FixedSizeArray<Element, let Size: Int> where Size.isMultiple(of: 2) {
// Dreaming that we had generic value parameters...
}
But I'm doubtful that that kind of thing is actually feasible, though. I remember asking if it would be possible to use it in conditional compilation:
So if I understand that right, the compile-time evaluation happens after type-checking, meaning everything before that (parsing, type-checking itself including constrained extensions) can't make use of the results.