Looking at the externs contained in https://github.com/google/closure-compiler/tree/master/contrib/externs, it seems like only the top-level namespace and the prototypes are defined. Is it actually necessary to recurse into everything?
e.g.
var namespace = {
property: {
anotherProperty: 1234
}
};
If we use namespace.property.anotherProperty inside a program, do we need to provide externs for namespace.property.anotherProperty, or does namespace.property suffice?