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 {
