Merge pull request #35 from nhooyr/master

avoid unnecessary allocation with New() in Append()
diff --git a/chain.go b/chain.go
index 58a7a51..da0e2b5 100644
--- a/chain.go
+++ b/chain.go
@@ -83,7 +83,7 @@
 	newCons = append(newCons, c.constructors...)
 	newCons = append(newCons, constructors...)
 
-	return New(newCons...)
+	return Chain{newCons}
 }
 
 // Extend extends a chain by adding the specified chain