Shifting compute operations to common delete result
diff --git a/openstack/compute/v2/extensions/keypairs/requests.go b/openstack/compute/v2/extensions/keypairs/requests.go
index 01ee12a..7d1a2ac 100644
--- a/openstack/compute/v2/extensions/keypairs/requests.go
+++ b/openstack/compute/v2/extensions/keypairs/requests.go
@@ -82,7 +82,6 @@
 	var res DeleteResult
 	_, res.Err = perigee.Request("DELETE", deleteURL(client, name), perigee.Options{
 		MoreHeaders: client.AuthenticatedHeaders(),
-		Results:     &res.Body,
 		OkCodes:     []int{202},
 	})
 	return res
diff --git a/openstack/compute/v2/extensions/keypairs/results.go b/openstack/compute/v2/extensions/keypairs/results.go
index 96b96ea..dc49f99 100644
--- a/openstack/compute/v2/extensions/keypairs/results.go
+++ b/openstack/compute/v2/extensions/keypairs/results.go
@@ -90,10 +90,5 @@
 // DeleteResult is the response from a Delete operation. Call its Extract method to determine if
 // the call succeeded or failed.
 type DeleteResult struct {
-	gophercloud.Result
-}
-
-// Extract determines whether or not a deletion request was accepted.
-func (r DeleteResult) Extract() error {
-	return r.Err
+	gophercloud.ExtractErrResult
 }