                      data: json,
                      httpMethod: "POST") {
                         (res: Result<JSON.Dict, BlockChainDB.QueryError>) in
-                        switch res {
-                        case .success: completion (Result.success(()))
-                        case .failure(let error):
-                            // Consider 302 or 404 errors as success - owing to a 'quirk'
-                            if case let QueryError.response (status) = error,
-                                (201 == status || 302 == status || 404 == status) {
-                                completion (Result.success(()))
-                            }
-                            else {
-                                completion (Result.failure(error))
-                            }
-                        }}
+                        // The completion expects Void on success; so map to `()` below
+                        completion (res.map { (json) in return () })
+        }
     }
 
     // Blocks

            }
        }

        sendRequest (request, dataTaskFunc, completion: completion)
    }

    /// We have two flavors of bdbMakeRequest but they both handle their result identically.

        }
    }

    private func sendRequest<T> (_ request: URLRequest, _ dataTaskFunc: DataTaskFunc, _ responseSuccess: [Int], completion: @escaping (Result<T, QueryError>) -> Void) {
        dataTaskFunc (session, request) { (data, res, error) in
            guard nil == error else {
                completion (Result.failure(QueryError.submission (error!))) // NSURLErrorDomain
