If no default is specified for a nested optional structural typed attribute, the defaults function should just pass through its input. Before this commit the function assumed that the fallback value was always of the correct type, which would panic.