Closes #40241 (closed), #40172 (closed).
Replacing !235 (closed) (currently the same with squashed commits).