      */
     public func delete<T1: TypeSafeMiddleware, T2: TypeSafeMiddleware, T3: TypeSafeMiddleware>(
         _ route: String,
-        handler: @escaping (T1, T2, T3, ResultClosure) -> Void
+        handler: @escaping (T1, T2, T3, @escaping ResultClosure) -> Void
     ) {
         registerDeleteRoute(route: route, id: false)
         delete(route) { request, response, next in

     */
    public func post<T1: TypeSafeMiddleware, T2: TypeSafeMiddleware, I: Codable, O: Codable>(
        _ route: String,
        handler: @escaping (T1, T2, I, CodableResultClosure<O>) -> Void
    ) {
        registerPostRoute(route: route, id: false, inputtype: I.self, outputtype: O.self)
        post(route) { request, response, next in

     */
    public func delete<T: TypeSafeMiddleware, Id: Identifier>(
        _ route: String,
        handler: @escaping (T, Id, @escaping ResultClosure) -> Void
    ) {
        if parameterIsPresent(in: route) {
            return
