Document the posibility to reuse a chain. Fixes #3.
diff --git a/chain.go b/chain.go
index 7c17aa5..04a17f7 100644
--- a/chain.go
+++ b/chain.go
@@ -35,6 +35,15 @@
// and finally, the given handler
// (assuming every middleware calls the following one).
//
+// A chain can be safely reused by calling Then() several times.
+// stdStack := alice.New(ratelimitHandler, csrfHandler)
+// indexPipe = stdStack.Then(indexHandler)
+// authPipe = stdStack.Then(authHandler)
+// Note that constructors are called on every call to Then()
+// and thus several instances of the same middleware will be created
+// when a chain is reused in this way.
+// For proper middleware, this should cause no problems.
+//
// Then() treats nil as http.DefaultServeMux.
func (c Chain) Then(h http.Handler) http.Handler {
var final http.Handler