pagination error types
diff --git a/pagination/pager.go b/pagination/pager.go
index ce66a04..415442f 100644
--- a/pagination/pager.go
+++ b/pagination/pager.go
@@ -202,7 +202,10 @@
 			body.Index(i).Set(reflect.ValueOf(s))
 		}
 	default:
-		return nil, fmt.Errorf("Page body has unrecognized type.")
+		err := gophercloud.ErrUnexpectedType{}
+		err.Expected = "map[string]interface{}/[]byte/[]interface{}"
+		err.Actual = fmt.Sprintf("%v", reflect.TypeOf(testPage.GetBody()))
+		return nil, err
 	}
 
 	// Each `Extract*` function is expecting a specific type of page coming back,