diff --git a/gcs/bucket.go b/gcs/bucket.go
index <HASH>..<HASH> 100644
--- a/gcs/bucket.go
+++ b/gcs/bucket.go
@@ -79,7 +79,7 @@ type Bucket interface {
 		ctx context.Context,
 		req *CopyObjectRequest) (*Object, error)
 
-	// Compose zero or more source objects into a single destination object by
+	// Compose one or more source objects into a single destination object by
 	// concatenating. Any existing generation of the destination name will be
 	// overwritten.
 	//
diff --git a/gcs/requests.go b/gcs/requests.go
index <HASH>..<HASH> 100644
--- a/gcs/requests.go
+++ b/gcs/requests.go
@@ -86,7 +86,7 @@ const MaxSourcesPerComposeRequest = 32
 // Cf. https://cloud.google.com/storage/docs/composite-objects#_Count
 const MaxComponentCount = 1024
 
-// A request to compose multiple objects into a single composite object.
+// A request to compose one or more objects into a single composite object.
 type ComposeObjectsRequest struct {
 	// The name of the destination composite object.
 	DstName string
@@ -99,7 +99,7 @@ type ComposeObjectsRequest struct {
 	// MaxComponentCount.
 	DstGenerationPrecondition *int64
 
-	// The source objects from which to compose.
+	// The source objects from which to compose. This must be non-empty.
 	Sources []ComposeSource
 }
Fixed the ComposeObjects description.

The text "zero or more" was never correct. Previously "two or more"
would have been correct, but since Google-internal bug <I> was
fixed, now it's "one ore more".