extend() correctly preserves config nodes (fix for #8)