There are a few field init values that are concrete but not complete/foldable (e.g. ?). This allows for using those values as initializers without erroring out.
Example:
class A { string value = ?; } class B<A impl> : A { let value = impl.value; // This currently emits an error. let value = ?; // This doesn't emit an error. }