docs: function getNamespace(path){
      if (hasOwnProperty.call(namespaces, path))
        return namespaces[path];
  
      path = path.split('.');
  
      var rootNs = getRootNamespace(path[0]);
      var cursor = rootNs;
  
      for (var i = 1; i < path.length; i++)
      {
        var name = path[i];
        var nspath = path.slice(0, i + 1).join('.');
  
        if (!hasOwnProperty.call(rootNs.namespaces_, nspath))
        {
          // create new namespace
          var namespace = new Namespace(nspath);
  
          // cursor[name] = namespace;
          if (config.implicitExt)
          {
            cursor[name] = namespace;
  
            /** @cut */ if (config.implicitExt == 'warn')
            /** @cut */ {
            /** @cut */   cursor[name] = namespace;
            /** @cut */   warnPropertyAccess(cursor, name, namespace,
            /** @cut */     'basis.js: Access to implicit namespace `' + nspath + '`'
            /** @cut */   );
            /** @cut */ }
          }
  
          rootNs.namespaces_[nspath] = namespace;
        }
  
        cursor = rootNs.namespaces_[nspath];
      }
  
      namespaces[path.join('.')] = cursor;
  
      return cursor;
    }