veyron2/vdl: Refactor go imports logic.

[NOTE: Real changes are under veyron2/vdl/..., everything else is
 mostly just vdl updates]

This CL refactors the logic for go imports in the vdl tool.  It
is a pre-requisite for the upcoming native type support, which is
necessary for the standard "time" package.

All dependency tracking should be performed in the codegen
modules, rather than in the vdl compiler.  The reasoning is
because dependency requirements are different for each codegen
language, and it's hard to come up with general-purpose rules.

In this CL we only implement the new dependency tracking /
imports mechanism for go.  Eventually all codegen languages will
implement their own mechanism, and we'll be able to remove the
common imports logic.

As a side-effect, we get nicer generated code; rather than having
special local package names like "__ipc", we just use the default
in most cases.  If there is a collision, we simply pick a
non-conflicting name.

MultiPart: 1/6
Change-Id: I715bf9170fa2bedd00eccc340feccdb460cd519c
diff --git a/services/mgmt/device/config.vdl.go b/services/mgmt/device/config.vdl.go
index 1a14ccb..978ed96 100644
--- a/services/mgmt/device/config.vdl.go
+++ b/services/mgmt/device/config.vdl.go
@@ -4,10 +4,10 @@
 package device
 
 import (
-	// The non-user imports are prefixed with "__" to prevent collisions.
-	__veyron2 "v.io/core/veyron2"
-	__context "v.io/core/veyron2/context"
-	__ipc "v.io/core/veyron2/ipc"
+	// VDL system imports
+	"v.io/core/veyron2"
+	"v.io/core/veyron2/context"
+	"v.io/core/veyron2/ipc"
 )
 
 // ConfigClientMethods is the client interface
@@ -16,20 +16,20 @@
 // Config is an RPC API to the config service.
 type ConfigClientMethods interface {
 	// Set sets the value for key.
-	Set(ctx *__context.T, key string, value string, opts ...__ipc.CallOpt) error
+	Set(ctx *context.T, key string, value string, opts ...ipc.CallOpt) error
 }
 
 // ConfigClientStub adds universal methods to ConfigClientMethods.
 type ConfigClientStub interface {
 	ConfigClientMethods
-	__ipc.UniversalServiceMethods
+	ipc.UniversalServiceMethods
 }
 
 // ConfigClient returns a client stub for Config.
-func ConfigClient(name string, opts ...__ipc.BindOpt) ConfigClientStub {
-	var client __ipc.Client
+func ConfigClient(name string, opts ...ipc.BindOpt) ConfigClientStub {
+	var client ipc.Client
 	for _, opt := range opts {
-		if clientOpt, ok := opt.(__ipc.Client); ok {
+		if clientOpt, ok := opt.(ipc.Client); ok {
 			client = clientOpt
 		}
 	}
@@ -38,18 +38,18 @@
 
 type implConfigClientStub struct {
 	name   string
-	client __ipc.Client
+	client ipc.Client
 }
 
-func (c implConfigClientStub) c(ctx *__context.T) __ipc.Client {
+func (c implConfigClientStub) c(ctx *context.T) ipc.Client {
 	if c.client != nil {
 		return c.client
 	}
-	return __veyron2.GetClient(ctx)
+	return veyron2.GetClient(ctx)
 }
 
-func (c implConfigClientStub) Set(ctx *__context.T, i0 string, i1 string, opts ...__ipc.CallOpt) (err error) {
-	var call __ipc.Call
+func (c implConfigClientStub) Set(ctx *context.T, i0 string, i1 string, opts ...ipc.CallOpt) (err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Set", []interface{}{i0, i1}, opts...); err != nil {
 		return
 	}
@@ -65,7 +65,7 @@
 // Config is an RPC API to the config service.
 type ConfigServerMethods interface {
 	// Set sets the value for key.
-	Set(ctx __ipc.ServerContext, key string, value string) error
+	Set(ctx ipc.ServerContext, key string, value string) error
 }
 
 // ConfigServerStubMethods is the server interface containing
@@ -78,7 +78,7 @@
 type ConfigServerStub interface {
 	ConfigServerStubMethods
 	// Describe the Config interfaces.
-	Describe__() []__ipc.InterfaceDesc
+	Describe__() []ipc.InterfaceDesc
 }
 
 // ConfigServer returns a server stub for Config.
@@ -90,9 +90,9 @@
 	}
 	// Initialize GlobState; always check the stub itself first, to handle the
 	// case where the user has the Glob method defined in their VDL source.
-	if gs := __ipc.NewGlobState(stub); gs != nil {
+	if gs := ipc.NewGlobState(stub); gs != nil {
 		stub.gs = gs
-	} else if gs := __ipc.NewGlobState(impl); gs != nil {
+	} else if gs := ipc.NewGlobState(impl); gs != nil {
 		stub.gs = gs
 	}
 	return stub
@@ -100,38 +100,38 @@
 
 type implConfigServerStub struct {
 	impl ConfigServerMethods
-	gs   *__ipc.GlobState
+	gs   *ipc.GlobState
 }
 
-func (s implConfigServerStub) Set(ctx __ipc.ServerContext, i0 string, i1 string) error {
+func (s implConfigServerStub) Set(ctx ipc.ServerContext, i0 string, i1 string) error {
 	return s.impl.Set(ctx, i0, i1)
 }
 
-func (s implConfigServerStub) Globber() *__ipc.GlobState {
+func (s implConfigServerStub) Globber() *ipc.GlobState {
 	return s.gs
 }
 
-func (s implConfigServerStub) Describe__() []__ipc.InterfaceDesc {
-	return []__ipc.InterfaceDesc{ConfigDesc}
+func (s implConfigServerStub) Describe__() []ipc.InterfaceDesc {
+	return []ipc.InterfaceDesc{ConfigDesc}
 }
 
 // ConfigDesc describes the Config interface.
-var ConfigDesc __ipc.InterfaceDesc = descConfig
+var ConfigDesc ipc.InterfaceDesc = descConfig
 
 // descConfig hides the desc to keep godoc clean.
-var descConfig = __ipc.InterfaceDesc{
+var descConfig = ipc.InterfaceDesc{
 	Name:    "Config",
 	PkgPath: "v.io/core/veyron/services/mgmt/device",
 	Doc:     "// Config is an RPC API to the config service.",
-	Methods: []__ipc.MethodDesc{
+	Methods: []ipc.MethodDesc{
 		{
 			Name: "Set",
 			Doc:  "// Set sets the value for key.",
-			InArgs: []__ipc.ArgDesc{
+			InArgs: []ipc.ArgDesc{
 				{"key", ``},   // string
 				{"value", ``}, // string
 			},
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // error
 			},
 		},
diff --git a/services/mgmt/profile/profile.vdl.go b/services/mgmt/profile/profile.vdl.go
index 6db310d..331db64 100644
--- a/services/mgmt/profile/profile.vdl.go
+++ b/services/mgmt/profile/profile.vdl.go
@@ -6,10 +6,11 @@
 package profile
 
 import (
-	"v.io/core/veyron2/services/mgmt/build"
+	// VDL system imports
+	"v.io/core/veyron2/vdl"
 
-	// The non-user imports are prefixed with "__" to prevent collisions.
-	__vdl "v.io/core/veyron2/vdl"
+	// VDL user imports
+	"v.io/core/veyron2/services/mgmt/build"
 )
 
 // Library describes a shared library that applications may use.
@@ -51,6 +52,6 @@
 }
 
 func init() {
-	__vdl.Register(Library{})
-	__vdl.Register(Specification{})
+	vdl.Register(Library{})
+	vdl.Register(Specification{})
 }
diff --git a/services/mgmt/repository/repository.vdl.go b/services/mgmt/repository/repository.vdl.go
index f90a688..47be35b 100644
--- a/services/mgmt/repository/repository.vdl.go
+++ b/services/mgmt/repository/repository.vdl.go
@@ -6,21 +6,18 @@
 package repository
 
 import (
+	// VDL system imports
+	"v.io/core/veyron2"
+	"v.io/core/veyron2/context"
+	"v.io/core/veyron2/ipc"
+	"v.io/core/veyron2/vdl"
+
+	// VDL user imports
 	"v.io/core/veyron/services/mgmt/profile"
-
 	"v.io/core/veyron2/services/mgmt/application"
-
 	"v.io/core/veyron2/services/mgmt/repository"
-
 	"v.io/core/veyron2/services/security/access"
-
 	"v.io/core/veyron2/services/security/access/object"
-
-	// The non-user imports are prefixed with "__" to prevent collisions.
-	__veyron2 "v.io/core/veyron2"
-	__context "v.io/core/veyron2/context"
-	__ipc "v.io/core/veyron2/ipc"
-	__vdl "v.io/core/veyron2/vdl"
 )
 
 // ApplicationClientMethods is the client interface
@@ -44,7 +41,7 @@
 	// Put adds the given tuple of application version (specified
 	// through the object name suffix) and application envelope to all
 	// of the given application profiles.
-	Put(ctx *__context.T, Profiles []string, Envelope application.Envelope, opts ...__ipc.CallOpt) error
+	Put(ctx *context.T, Profiles []string, Envelope application.Envelope, opts ...ipc.CallOpt) error
 	// Remove removes the application envelope for the given profile
 	// name and application version (specified through the object name
 	// suffix). If no version is specified as part of the suffix, the
@@ -52,20 +49,20 @@
 	//
 	// TODO(jsimsa): Add support for using "*" to specify all profiles
 	// when Matt implements Globing (or Ken implements querying).
-	Remove(ctx *__context.T, Profile string, opts ...__ipc.CallOpt) error
+	Remove(ctx *context.T, Profile string, opts ...ipc.CallOpt) error
 }
 
 // ApplicationClientStub adds universal methods to ApplicationClientMethods.
 type ApplicationClientStub interface {
 	ApplicationClientMethods
-	__ipc.UniversalServiceMethods
+	ipc.UniversalServiceMethods
 }
 
 // ApplicationClient returns a client stub for Application.
-func ApplicationClient(name string, opts ...__ipc.BindOpt) ApplicationClientStub {
-	var client __ipc.Client
+func ApplicationClient(name string, opts ...ipc.BindOpt) ApplicationClientStub {
+	var client ipc.Client
 	for _, opt := range opts {
-		if clientOpt, ok := opt.(__ipc.Client); ok {
+		if clientOpt, ok := opt.(ipc.Client); ok {
 			client = clientOpt
 		}
 	}
@@ -74,20 +71,20 @@
 
 type implApplicationClientStub struct {
 	name   string
-	client __ipc.Client
+	client ipc.Client
 
 	repository.ApplicationClientStub
 }
 
-func (c implApplicationClientStub) c(ctx *__context.T) __ipc.Client {
+func (c implApplicationClientStub) c(ctx *context.T) ipc.Client {
 	if c.client != nil {
 		return c.client
 	}
-	return __veyron2.GetClient(ctx)
+	return veyron2.GetClient(ctx)
 }
 
-func (c implApplicationClientStub) Put(ctx *__context.T, i0 []string, i1 application.Envelope, opts ...__ipc.CallOpt) (err error) {
-	var call __ipc.Call
+func (c implApplicationClientStub) Put(ctx *context.T, i0 []string, i1 application.Envelope, opts ...ipc.CallOpt) (err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Put", []interface{}{i0, i1}, opts...); err != nil {
 		return
 	}
@@ -97,8 +94,8 @@
 	return
 }
 
-func (c implApplicationClientStub) Remove(ctx *__context.T, i0 string, opts ...__ipc.CallOpt) (err error) {
-	var call __ipc.Call
+func (c implApplicationClientStub) Remove(ctx *context.T, i0 string, opts ...ipc.CallOpt) (err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Remove", []interface{}{i0}, opts...); err != nil {
 		return
 	}
@@ -129,7 +126,7 @@
 	// Put adds the given tuple of application version (specified
 	// through the object name suffix) and application envelope to all
 	// of the given application profiles.
-	Put(ctx __ipc.ServerContext, Profiles []string, Envelope application.Envelope) error
+	Put(ctx ipc.ServerContext, Profiles []string, Envelope application.Envelope) error
 	// Remove removes the application envelope for the given profile
 	// name and application version (specified through the object name
 	// suffix). If no version is specified as part of the suffix, the
@@ -137,7 +134,7 @@
 	//
 	// TODO(jsimsa): Add support for using "*" to specify all profiles
 	// when Matt implements Globing (or Ken implements querying).
-	Remove(ctx __ipc.ServerContext, Profile string) error
+	Remove(ctx ipc.ServerContext, Profile string) error
 }
 
 // ApplicationServerStubMethods is the server interface containing
@@ -150,7 +147,7 @@
 type ApplicationServerStub interface {
 	ApplicationServerStubMethods
 	// Describe the Application interfaces.
-	Describe__() []__ipc.InterfaceDesc
+	Describe__() []ipc.InterfaceDesc
 }
 
 // ApplicationServer returns a server stub for Application.
@@ -163,9 +160,9 @@
 	}
 	// Initialize GlobState; always check the stub itself first, to handle the
 	// case where the user has the Glob method defined in their VDL source.
-	if gs := __ipc.NewGlobState(stub); gs != nil {
+	if gs := ipc.NewGlobState(stub); gs != nil {
 		stub.gs = gs
-	} else if gs := __ipc.NewGlobState(impl); gs != nil {
+	} else if gs := ipc.NewGlobState(impl); gs != nil {
 		stub.gs = gs
 	}
 	return stub
@@ -174,59 +171,59 @@
 type implApplicationServerStub struct {
 	impl ApplicationServerMethods
 	repository.ApplicationServerStub
-	gs *__ipc.GlobState
+	gs *ipc.GlobState
 }
 
-func (s implApplicationServerStub) Put(ctx __ipc.ServerContext, i0 []string, i1 application.Envelope) error {
+func (s implApplicationServerStub) Put(ctx ipc.ServerContext, i0 []string, i1 application.Envelope) error {
 	return s.impl.Put(ctx, i0, i1)
 }
 
-func (s implApplicationServerStub) Remove(ctx __ipc.ServerContext, i0 string) error {
+func (s implApplicationServerStub) Remove(ctx ipc.ServerContext, i0 string) error {
 	return s.impl.Remove(ctx, i0)
 }
 
-func (s implApplicationServerStub) Globber() *__ipc.GlobState {
+func (s implApplicationServerStub) Globber() *ipc.GlobState {
 	return s.gs
 }
 
-func (s implApplicationServerStub) Describe__() []__ipc.InterfaceDesc {
-	return []__ipc.InterfaceDesc{ApplicationDesc, repository.ApplicationDesc, object.ObjectDesc}
+func (s implApplicationServerStub) Describe__() []ipc.InterfaceDesc {
+	return []ipc.InterfaceDesc{ApplicationDesc, repository.ApplicationDesc, object.ObjectDesc}
 }
 
 // ApplicationDesc describes the Application interface.
-var ApplicationDesc __ipc.InterfaceDesc = descApplication
+var ApplicationDesc ipc.InterfaceDesc = descApplication
 
 // descApplication hides the desc to keep godoc clean.
-var descApplication = __ipc.InterfaceDesc{
+var descApplication = ipc.InterfaceDesc{
 	Name:    "Application",
 	PkgPath: "v.io/core/veyron/services/mgmt/repository",
 	Doc:     "// Application describes an application repository internally. Besides\n// the public Application interface, it allows to add and remove\n// application envelopes.",
-	Embeds: []__ipc.EmbedDesc{
+	Embeds: []ipc.EmbedDesc{
 		{"Application", "v.io/core/veyron2/services/mgmt/repository", "// Application provides access to application envelopes. An\n// application envelope is identified by an application name and an\n// application version, which are specified through the object name,\n// and a profile name, which is specified using a method argument.\n//\n// Example:\n// /apps/search/v1.Match([]string{\"base\", \"media\"})\n//   returns an application envelope that can be used for downloading\n//   and executing the \"search\" application, version \"v1\", runnable\n//   on either the \"base\" or \"media\" profile."},
 	},
-	Methods: []__ipc.MethodDesc{
+	Methods: []ipc.MethodDesc{
 		{
 			Name: "Put",
 			Doc:  "// Put adds the given tuple of application version (specified\n// through the object name suffix) and application envelope to all\n// of the given application profiles.",
-			InArgs: []__ipc.ArgDesc{
+			InArgs: []ipc.ArgDesc{
 				{"Profiles", ``}, // []string
 				{"Envelope", ``}, // application.Envelope
 			},
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // error
 			},
-			Tags: []__vdl.AnyRep{access.Tag("Write")},
+			Tags: []vdl.AnyRep{access.Tag("Write")},
 		},
 		{
 			Name: "Remove",
 			Doc:  "// Remove removes the application envelope for the given profile\n// name and application version (specified through the object name\n// suffix). If no version is specified as part of the suffix, the\n// method removes all versions for the given profile.\n//\n// TODO(jsimsa): Add support for using \"*\" to specify all profiles\n// when Matt implements Globing (or Ken implements querying).",
-			InArgs: []__ipc.ArgDesc{
+			InArgs: []ipc.ArgDesc{
 				{"Profile", ``}, // string
 			},
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // error
 			},
-			Tags: []__vdl.AnyRep{access.Tag("Write")},
+			Tags: []vdl.AnyRep{access.Tag("Write")},
 		},
 	},
 }
@@ -244,26 +241,26 @@
 	repository.ProfileClientMethods
 	// Specification returns the profile specification for the profile
 	// identified through the object name suffix.
-	Specification(*__context.T, ...__ipc.CallOpt) (profile.Specification, error)
+	Specification(*context.T, ...ipc.CallOpt) (profile.Specification, error)
 	// Put sets the profile specification for the profile identified
 	// through the object name suffix.
-	Put(ctx *__context.T, Specification profile.Specification, opts ...__ipc.CallOpt) error
+	Put(ctx *context.T, Specification profile.Specification, opts ...ipc.CallOpt) error
 	// Remove removes the profile specification for the profile
 	// identified through the object name suffix.
-	Remove(*__context.T, ...__ipc.CallOpt) error
+	Remove(*context.T, ...ipc.CallOpt) error
 }
 
 // ProfileClientStub adds universal methods to ProfileClientMethods.
 type ProfileClientStub interface {
 	ProfileClientMethods
-	__ipc.UniversalServiceMethods
+	ipc.UniversalServiceMethods
 }
 
 // ProfileClient returns a client stub for Profile.
-func ProfileClient(name string, opts ...__ipc.BindOpt) ProfileClientStub {
-	var client __ipc.Client
+func ProfileClient(name string, opts ...ipc.BindOpt) ProfileClientStub {
+	var client ipc.Client
 	for _, opt := range opts {
-		if clientOpt, ok := opt.(__ipc.Client); ok {
+		if clientOpt, ok := opt.(ipc.Client); ok {
 			client = clientOpt
 		}
 	}
@@ -272,20 +269,20 @@
 
 type implProfileClientStub struct {
 	name   string
-	client __ipc.Client
+	client ipc.Client
 
 	repository.ProfileClientStub
 }
 
-func (c implProfileClientStub) c(ctx *__context.T) __ipc.Client {
+func (c implProfileClientStub) c(ctx *context.T) ipc.Client {
 	if c.client != nil {
 		return c.client
 	}
-	return __veyron2.GetClient(ctx)
+	return veyron2.GetClient(ctx)
 }
 
-func (c implProfileClientStub) Specification(ctx *__context.T, opts ...__ipc.CallOpt) (o0 profile.Specification, err error) {
-	var call __ipc.Call
+func (c implProfileClientStub) Specification(ctx *context.T, opts ...ipc.CallOpt) (o0 profile.Specification, err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Specification", nil, opts...); err != nil {
 		return
 	}
@@ -295,8 +292,8 @@
 	return
 }
 
-func (c implProfileClientStub) Put(ctx *__context.T, i0 profile.Specification, opts ...__ipc.CallOpt) (err error) {
-	var call __ipc.Call
+func (c implProfileClientStub) Put(ctx *context.T, i0 profile.Specification, opts ...ipc.CallOpt) (err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Put", []interface{}{i0}, opts...); err != nil {
 		return
 	}
@@ -306,8 +303,8 @@
 	return
 }
 
-func (c implProfileClientStub) Remove(ctx *__context.T, opts ...__ipc.CallOpt) (err error) {
-	var call __ipc.Call
+func (c implProfileClientStub) Remove(ctx *context.T, opts ...ipc.CallOpt) (err error) {
+	var call ipc.Call
 	if call, err = c.c(ctx).StartCall(ctx, c.name, "Remove", nil, opts...); err != nil {
 		return
 	}
@@ -330,13 +327,13 @@
 	repository.ProfileServerMethods
 	// Specification returns the profile specification for the profile
 	// identified through the object name suffix.
-	Specification(__ipc.ServerContext) (profile.Specification, error)
+	Specification(ipc.ServerContext) (profile.Specification, error)
 	// Put sets the profile specification for the profile identified
 	// through the object name suffix.
-	Put(ctx __ipc.ServerContext, Specification profile.Specification) error
+	Put(ctx ipc.ServerContext, Specification profile.Specification) error
 	// Remove removes the profile specification for the profile
 	// identified through the object name suffix.
-	Remove(__ipc.ServerContext) error
+	Remove(ipc.ServerContext) error
 }
 
 // ProfileServerStubMethods is the server interface containing
@@ -349,7 +346,7 @@
 type ProfileServerStub interface {
 	ProfileServerStubMethods
 	// Describe the Profile interfaces.
-	Describe__() []__ipc.InterfaceDesc
+	Describe__() []ipc.InterfaceDesc
 }
 
 // ProfileServer returns a server stub for Profile.
@@ -362,9 +359,9 @@
 	}
 	// Initialize GlobState; always check the stub itself first, to handle the
 	// case where the user has the Glob method defined in their VDL source.
-	if gs := __ipc.NewGlobState(stub); gs != nil {
+	if gs := ipc.NewGlobState(stub); gs != nil {
 		stub.gs = gs
-	} else if gs := __ipc.NewGlobState(impl); gs != nil {
+	} else if gs := ipc.NewGlobState(impl); gs != nil {
 		stub.gs = gs
 	}
 	return stub
@@ -373,68 +370,68 @@
 type implProfileServerStub struct {
 	impl ProfileServerMethods
 	repository.ProfileServerStub
-	gs *__ipc.GlobState
+	gs *ipc.GlobState
 }
 
-func (s implProfileServerStub) Specification(ctx __ipc.ServerContext) (profile.Specification, error) {
+func (s implProfileServerStub) Specification(ctx ipc.ServerContext) (profile.Specification, error) {
 	return s.impl.Specification(ctx)
 }
 
-func (s implProfileServerStub) Put(ctx __ipc.ServerContext, i0 profile.Specification) error {
+func (s implProfileServerStub) Put(ctx ipc.ServerContext, i0 profile.Specification) error {
 	return s.impl.Put(ctx, i0)
 }
 
-func (s implProfileServerStub) Remove(ctx __ipc.ServerContext) error {
+func (s implProfileServerStub) Remove(ctx ipc.ServerContext) error {
 	return s.impl.Remove(ctx)
 }
 
-func (s implProfileServerStub) Globber() *__ipc.GlobState {
+func (s implProfileServerStub) Globber() *ipc.GlobState {
 	return s.gs
 }
 
-func (s implProfileServerStub) Describe__() []__ipc.InterfaceDesc {
-	return []__ipc.InterfaceDesc{ProfileDesc, repository.ProfileDesc}
+func (s implProfileServerStub) Describe__() []ipc.InterfaceDesc {
+	return []ipc.InterfaceDesc{ProfileDesc, repository.ProfileDesc}
 }
 
 // ProfileDesc describes the Profile interface.
-var ProfileDesc __ipc.InterfaceDesc = descProfile
+var ProfileDesc ipc.InterfaceDesc = descProfile
 
 // descProfile hides the desc to keep godoc clean.
-var descProfile = __ipc.InterfaceDesc{
+var descProfile = ipc.InterfaceDesc{
 	Name:    "Profile",
 	PkgPath: "v.io/core/veyron/services/mgmt/repository",
 	Doc:     "// Profile describes a profile internally. Besides the public Profile\n// interface, it allows to add and remove profile specifications.",
-	Embeds: []__ipc.EmbedDesc{
+	Embeds: []ipc.EmbedDesc{
 		{"Profile", "v.io/core/veyron2/services/mgmt/repository", "// Profile abstracts a device's ability to run binaries, and hides\n// specifics such as the operating system, hardware architecture, and\n// the set of installed libraries. Profiles describe binaries and\n// devices, and are used to match them."},
 	},
-	Methods: []__ipc.MethodDesc{
+	Methods: []ipc.MethodDesc{
 		{
 			Name: "Specification",
 			Doc:  "// Specification returns the profile specification for the profile\n// identified through the object name suffix.",
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // profile.Specification
 				{"", ``}, // error
 			},
-			Tags: []__vdl.AnyRep{access.Tag("Read")},
+			Tags: []vdl.AnyRep{access.Tag("Read")},
 		},
 		{
 			Name: "Put",
 			Doc:  "// Put sets the profile specification for the profile identified\n// through the object name suffix.",
-			InArgs: []__ipc.ArgDesc{
+			InArgs: []ipc.ArgDesc{
 				{"Specification", ``}, // profile.Specification
 			},
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // error
 			},
-			Tags: []__vdl.AnyRep{access.Tag("Write")},
+			Tags: []vdl.AnyRep{access.Tag("Write")},
 		},
 		{
 			Name: "Remove",
 			Doc:  "// Remove removes the profile specification for the profile\n// identified through the object name suffix.",
-			OutArgs: []__ipc.ArgDesc{
+			OutArgs: []ipc.ArgDesc{
 				{"", ``}, // error
 			},
-			Tags: []__vdl.AnyRep{access.Tag("Write")},
+			Tags: []vdl.AnyRep{access.Tag("Write")},
 		},
 	},
 }
diff --git a/services/mgmt/stats/types.vdl.go b/services/mgmt/stats/types.vdl.go
index 84d8bad..29422e8 100644
--- a/services/mgmt/stats/types.vdl.go
+++ b/services/mgmt/stats/types.vdl.go
@@ -5,8 +5,8 @@
 package stats
 
 import (
-	// The non-user imports are prefixed with "__" to prevent collisions.
-	__vdl "v.io/core/veyron2/vdl"
+	// VDL system imports
+	"v.io/core/veyron2/vdl"
 )
 
 // HistogramValue is the value of Histogram objects.
@@ -42,6 +42,6 @@
 }
 
 func init() {
-	__vdl.Register(HistogramValue{})
-	__vdl.Register(HistogramBucket{})
+	vdl.Register(HistogramValue{})
+	vdl.Register(HistogramBucket{})
 }