Allow empty functional updating of structs

Fixes #8972