relocate cause
diff --git a/errors.go b/errors.go
index e9b4e8d..e1232df 100644
--- a/errors.go
+++ b/errors.go
@@ -70,15 +70,6 @@
 	}
 }
 
-type cause struct {
-	cause   error
-	message string
-}
-
-func (c cause) Error() string   { return c.Message() + ": " + c.Cause().Error() }
-func (c cause) Cause() error    { return c.cause }
-func (c cause) Message() string { return c.message }
-
 // Errorf formats according to a format specifier and returns the string
 // as a value that satisfies error.
 func Errorf(format string, args ...interface{}) error {
@@ -91,6 +82,15 @@
 	}
 }
 
+type cause struct {
+	cause   error
+	message string
+}
+
+func (c cause) Error() string   { return c.Message() + ": " + c.Cause().Error() }
+func (c cause) Cause() error    { return c.cause }
+func (c cause) Message() string { return c.message }
+
 // Wrap returns an error annotating err with message.
 // If err is nil, Wrap returns nil.
 func Wrap(err error, message string) error {