android: Make map, list, set, array generated code implement standard java interfaces

Change-Id: I1c6317300b15948e7d5410a2c6e2d8265a976db2
diff --git a/examples/bank/bank.vdl.go b/examples/bank/bank.vdl.go
index e8e7910..6156492 100644
--- a/examples/bank/bank.vdl.go
+++ b/examples/bank/bank.vdl.go
@@ -22,10 +22,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Bank allows clients to store virtual money. Certain implementations can use persistent storage.
 // Uses the client's Veyron Identity to determine account access.
 // Bank is the interface the client binds and uses.
diff --git a/examples/boxes/boxes.vdl.go b/examples/boxes/boxes.vdl.go
index 2adb689..40da80a 100644
--- a/examples/boxes/boxes.vdl.go
+++ b/examples/boxes/boxes.vdl.go
@@ -27,10 +27,6 @@
 	Points [4]float32
 }
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // BoxSignalling allows peers to rendezvous with each other
 // BoxSignalling is the interface the client binds and uses.
 // BoxSignalling_ExcludingUniversal is the interface without internal framework-added methods
@@ -256,43 +252,25 @@
 // Draw in the service interface DrawInterface.
 type DrawInterfaceDrawStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item Box) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item Box, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -329,7 +307,7 @@
 // Draw in the service interface DrawInterface.
 type DrawInterfaceServiceDrawStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item Box) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
diff --git a/examples/fortune/fortune.vdl.go b/examples/fortune/fortune.vdl.go
index 7070407..4784028 100644
--- a/examples/fortune/fortune.vdl.go
+++ b/examples/fortune/fortune.vdl.go
@@ -16,10 +16,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Fortune allows clients to Get and Add fortune strings.
 // Fortune is the interface the client binds and uses.
 // Fortune_ExcludingUniversal is the interface without internal framework-added methods
diff --git a/examples/inspector/inspector.vdl.go b/examples/inspector/inspector.vdl.go
index 27b8323..436f056 100644
--- a/examples/inspector/inspector.vdl.go
+++ b/examples/inspector/inspector.vdl.go
@@ -26,10 +26,6 @@
 	IsDir   bool
 }
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Inspector is the interface the client binds and uses.
 // Inspector_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
@@ -53,26 +49,14 @@
 type InspectorLsStream interface {
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item string, err error)
 
-	// Finish blocks until the server is done and returns the positional
-	// return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -101,7 +85,7 @@
 // Ls in the service interface Inspector.
 type InspectorServiceLsStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item string) error
 }
 
@@ -119,26 +103,14 @@
 type InspectorLsDetailsStream interface {
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item Details, err error)
 
-	// Finish blocks until the server is done and returns the positional
-	// return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -167,7 +139,7 @@
 // LsDetails in the service interface Inspector.
 type InspectorServiceLsDetailsStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item Details) error
 }
 
diff --git a/examples/pipetobrowser/p2b.vdl.go b/examples/pipetobrowser/p2b.vdl.go
index 9188c22..bfa0f47 100644
--- a/examples/pipetobrowser/p2b.vdl.go
+++ b/examples/pipetobrowser/p2b.vdl.go
@@ -14,10 +14,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Viewer allows clients to stream data to it and to request a particular viewer to format and display the data.
 // Viewer is the interface the client binds and uses.
 // Viewer_ExcludingUniversal is the interface without internal framework-added methods
@@ -42,38 +38,21 @@
 // Pipe in the service interface Viewer.
 type ViewerPipeStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item []byte) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (reply _gen_vdlutil.Any, err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
diff --git a/examples/rockpaperscissors/service.vdl.go b/examples/rockpaperscissors/service.vdl.go
index 818cd68..268ee07 100644
--- a/examples/rockpaperscissors/service.vdl.go
+++ b/examples/rockpaperscissors/service.vdl.go
@@ -80,10 +80,6 @@
 	Player2 = WinnerTag(2)
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Judge is the interface the client binds and uses.
 // Judge_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
@@ -113,43 +109,25 @@
 // Play in the service interface Judge.
 type JudgePlayStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item PlayerAction) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item JudgeAction, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (reply PlayResult, err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -186,7 +164,7 @@
 // Play in the service interface Judge.
 type JudgeServicePlayStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item JudgeAction) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
diff --git a/examples/tunnel/tunnel.vdl.go b/examples/tunnel/tunnel.vdl.go
index 6915372..5bc70d2 100644
--- a/examples/tunnel/tunnel.vdl.go
+++ b/examples/tunnel/tunnel.vdl.go
@@ -38,10 +38,6 @@
 	Stderr []byte
 }
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Tunnel is the interface the client binds and uses.
 // Tunnel_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
@@ -83,43 +79,25 @@
 // Forward in the service interface Tunnel.
 type TunnelForwardStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item []byte) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item []byte, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -156,7 +134,7 @@
 // Forward in the service interface Tunnel.
 type TunnelServiceForwardStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item []byte) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
@@ -182,43 +160,25 @@
 // Shell in the service interface Tunnel.
 type TunnelShellStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item ClientShellPacket) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item ServerShellPacket, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (reply int32, err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -255,7 +215,7 @@
 // Shell in the service interface Tunnel.
 type TunnelServiceShellStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item ServerShellPacket) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
diff --git a/examples/wspr_sample/cache.vdl.go b/examples/wspr_sample/cache.vdl.go
index 2871182..5f738a3 100644
--- a/examples/wspr_sample/cache.vdl.go
+++ b/examples/wspr_sample/cache.vdl.go
@@ -20,10 +20,6 @@
 	Value _gen_vdlutil.Any
 }
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // A Cache service mimics the memcache interface.
 // Cache is the interface the client binds and uses.
 // Cache_ExcludingUniversal is the interface without internal framework-added methods
@@ -124,43 +120,25 @@
 // MultiGet in the service interface Cache.
 type CacheMultiGetStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item string) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item _gen_vdlutil.Any, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -197,7 +175,7 @@
 // MultiGet in the service interface Cache.
 type CacheServiceMultiGetStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item _gen_vdlutil.Any) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
diff --git a/examples/wspr_sample/error_thrower.vdl.go b/examples/wspr_sample/error_thrower.vdl.go
index 9fc497f..54b046c 100644
--- a/examples/wspr_sample/error_thrower.vdl.go
+++ b/examples/wspr_sample/error_thrower.vdl.go
@@ -14,10 +14,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // A testing interface with methods that throw various types of errors
 // ErrorThrower is the interface the client binds and uses.
 // ErrorThrower_ExcludingUniversal is the interface without internal framework-added methods
diff --git a/lib/testutil/modules/servers.vdl.go b/lib/testutil/modules/servers.vdl.go
index 89a72bb..26f9ef2 100644
--- a/lib/testutil/modules/servers.vdl.go
+++ b/lib/testutil/modules/servers.vdl.go
@@ -14,10 +14,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Clock is the interface the client binds and uses.
 // Clock_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
diff --git a/runtimes/google/ipc/benchmarks/service.vdl.go b/runtimes/google/ipc/benchmarks/service.vdl.go
index 15e2f3f..2356536 100644
--- a/runtimes/google/ipc/benchmarks/service.vdl.go
+++ b/runtimes/google/ipc/benchmarks/service.vdl.go
@@ -16,10 +16,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Benchmark is the interface the client binds and uses.
 // Benchmark_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
@@ -47,43 +43,25 @@
 // EchoStream in the service interface Benchmark.
 type BenchmarkEchoStreamStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item []byte) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item []byte, err error)
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -120,7 +98,7 @@
 // EchoStream in the service interface Benchmark.
 type BenchmarkServiceEchoStreamStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item []byte) error
 
 	// Recv fills itemptr with the next item in the input stream, blocking until
diff --git a/runtimes/google/vsync/vsync.vdl.go b/runtimes/google/vsync/vsync.vdl.go
index 793b091..f81a4b7 100644
--- a/runtimes/google/vsync/vsync.vdl.go
+++ b/runtimes/google/vsync/vsync.vdl.go
@@ -81,10 +81,6 @@
 	LinkRec = byte(1)
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Sync allows a device to GetDeltas from another device.
 // Sync is the interface the client binds and uses.
 // Sync_ExcludingUniversal is the interface without internal framework-added methods
@@ -112,26 +108,14 @@
 type SyncGetDeltasStream interface {
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item LogRec, err error)
 
-	// Finish blocks until the server is done and returns the positional
-	// return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (reply GenVector, err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -160,7 +144,7 @@
 // GetDeltas in the service interface Sync.
 type SyncServiceGetDeltasStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item LogRec) error
 }
 
diff --git a/services/mgmt/node/node.vdl.go b/services/mgmt/node/node.vdl.go
index c7b7430..4a922f3 100644
--- a/services/mgmt/node/node.vdl.go
+++ b/services/mgmt/node/node.vdl.go
@@ -18,10 +18,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Config is an RPC API to the config service.
 // Config is the interface the client binds and uses.
 // Config_ExcludingUniversal is the interface without internal framework-added methods
diff --git a/services/mgmt/repository/repository.vdl.go b/services/mgmt/repository/repository.vdl.go
index 0b2b305..83bc841 100644
--- a/services/mgmt/repository/repository.vdl.go
+++ b/services/mgmt/repository/repository.vdl.go
@@ -24,10 +24,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Application describes an application repository internally. Besides
 // the public Application interface, it allows to add and remove
 // application envelopes.
diff --git a/services/mgmt/root/root.vdl.go b/services/mgmt/root/root.vdl.go
index a7bff85..90f5103 100644
--- a/services/mgmt/root/root.vdl.go
+++ b/services/mgmt/root/root.vdl.go
@@ -16,10 +16,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Root is an interface to be implemented by a process with root level
 // privileges.
 // Root is the interface the client binds and uses.
diff --git a/services/mounttable/lib/collection_test.vdl.go b/services/mounttable/lib/collection_test.vdl.go
index 8002428..75cf8fb 100644
--- a/services/mounttable/lib/collection_test.vdl.go
+++ b/services/mounttable/lib/collection_test.vdl.go
@@ -14,10 +14,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Collection is the interface the client binds and uses.
 // Collection_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
diff --git a/services/security/discharger.vdl.go b/services/security/discharger.vdl.go
index cfb2ea2..7a2b5a8 100644
--- a/services/security/discharger.vdl.go
+++ b/services/security/discharger.vdl.go
@@ -16,10 +16,6 @@
 	_gen_wiretype "veyron2/wiretype"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // DischargeIssuer service issues caveat discharges when requested.
 // Discharger is the interface the client binds and uses.
 // Discharger_ExcludingUniversal is the interface without internal framework-added methods
diff --git a/services/security/revoker.vdl.go b/services/security/revoker.vdl.go
index 4bda62d..4e0bdaa 100644
--- a/services/security/revoker.vdl.go
+++ b/services/security/revoker.vdl.go
@@ -19,10 +19,6 @@
 // RevocationToken can be presented to a revocation service to revoke a caveat
 type RevocationToken [16]byte
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Revoker is the interface for preventing discharges from being issued. The
 // dicharger ensures that no discharges will be issued for caveats that
 // have been explicitly revoked using this interface. To prevent discharge
diff --git a/services/store/raw/service.vdl.go b/services/store/raw/service.vdl.go
index b54ce34..ca92493 100644
--- a/services/store/raw/service.vdl.go
+++ b/services/store/raw/service.vdl.go
@@ -59,10 +59,6 @@
 	RawStoreSuffix = ".store.raw"
 )
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // Store defines a raw interface for the Veyron store. Mutations can be received
 // via the Watcher interface, and committed via PutMutation.
 // Store is the interface the client binds and uses.
@@ -97,26 +93,14 @@
 type StoreWatchStream interface {
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item watch.ChangeBatch, err error)
 
-	// Finish blocks until the server is done and returns the positional
-	// return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -145,7 +129,7 @@
 // Watch in the service interface Store.
 type StoreServiceWatchStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item watch.ChangeBatch) error
 }
 
@@ -162,38 +146,21 @@
 // PutMutations in the service interface Store.
 type StorePutMutationsStream interface {
 
-	// Send places the item onto the output stream, blocking if there is no
-	// buffer space available.  Calls to Send after having called CloseSend
-	// or Cancel will fail.  Any blocked Send calls will be unblocked upon
-	// calling Cancel.
+	// Send places the item onto the output stream, blocking if there is no buffer
+	// space available.
 	Send(item Mutation) error
 
-	// CloseSend indicates to the server that no more items will be sent;
-	// server Recv calls will receive io.EOF after all sent items.  This is
-	// an optional call - it's used by streaming clients that need the
-	// server to receive the io.EOF terminator before the client calls
-	// Finish (for example, if the client needs to continue receiving items
-	// from the server after having finished sending).
-	// Calls to CloseSend after having called Cancel will fail.
-	// Like Send, CloseSend blocks when there's no buffer space available.
+	// CloseSend indicates to the server that no more items will be sent; server
+	// Recv calls will receive io.EOF after all sent items.  Subsequent calls to
+	// Send on the client will fail.  This is an optional call - it's used by
+	// streaming clients that need the server to receive the io.EOF terminator.
 	CloseSend() error
 
-	// Finish performs the equivalent of CloseSend, then blocks until the server
-	// is done, and returns the positional return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
diff --git a/tools/vrpc/test_base/test_base.vdl.go b/tools/vrpc/test_base/test_base.vdl.go
index 931f10f..9332b43 100644
--- a/tools/vrpc/test_base/test_base.vdl.go
+++ b/tools/vrpc/test_base/test_base.vdl.go
@@ -19,10 +19,6 @@
 	Y int32
 }
 
-// TODO(bprosnitz) Remove this line once signatures are updated to use typevals.
-// It corrects a bug where _gen_wiretype is unused in VDL pacakges where only bootstrap types are used on interfaces.
-const _ = _gen_wiretype.TypeIDInvalid
-
 // TypeTester is the interface the client binds and uses.
 // TypeTester_ExcludingUniversal is the interface without internal framework-added methods
 // to enable embedding without method collisions.  Not to be used directly by clients.
@@ -91,26 +87,14 @@
 type TypeTesterStreamingOutputStream interface {
 
 	// Recv returns the next item in the input stream, blocking until
-	// an item is available.  Returns io.EOF to indicate graceful end of
-	// input.
+	// an item is available.  Returns io.EOF to indicate graceful end of input.
 	Recv() (item bool, err error)
 
-	// Finish blocks until the server is done and returns the positional
-	// return values for call.
-	//
-	// If Cancel has been called, Finish will return immediately; the output of
-	// Finish could either be an error signalling cancelation, or the correct
-	// positional return values from the server depending on the timing of the
+	// Finish closes the stream and returns the positional return values for
 	// call.
-	//
-	// Calling Finish is mandatory for releasing stream resources, unless Cancel
-	// has been called or any of the other methods return a non-EOF error.
-	// Finish should be called at most once.
 	Finish() (err error)
 
-	// Cancel cancels the RPC, notifying the server to stop processing.  It
-	// is safe to call Cancel concurrently with any of the other stream methods.
-	// Calling Cancel after Finish has returned is a no-op.
+	// Cancel cancels the RPC, notifying the server to stop processing.
 	Cancel()
 }
 
@@ -139,7 +123,7 @@
 // StreamingOutput in the service interface TypeTester.
 type TypeTesterServiceStreamingOutputStream interface {
 	// Send places the item onto the output stream, blocking if there is no buffer
-	// space available.  If the client has canceled, an error is returned.
+	// space available.
 	Send(item bool) error
 }