Simplified barrier construction.
diff --git a/barrier.go b/barrier.go
index 4776b8c..6b2042f 100644
--- a/barrier.go
+++ b/barrier.go
@@ -14,11 +14,9 @@
 }
 
 func NewBarrier(upstream ...*Sequence) Barrier {
-	this := Barrier{}
-	for i := 0; i < len(upstream); i++ {
-		this = append(this, upstream[i])
-	}
-	return this
+	buffer := make([]*Sequence, len(upstream))
+	copy(buffer, upstream)
+	return Barrier(buffer)
 }
 
 type Barrier []*Sequence