     static
     func action<UFLModel>(
         _ name: String = #function,
-        _ body: @escaping (UFLModel, (() -> Action<UFLModel>) -> Void) throws -> Mutations<UFLModel>
+        _ body: @escaping (UFLModel, @escaping (() -> Action<UFLModel>) -> Void) throws -> Mutations<UFLModel>
         ) -> Action<UFLModel>
     {
         return Action(id: "\(self).\(name)", body: body)

    static
    func trigger<UFLModel>(
        _ name: String = #function,
        _ body: @escaping (UFLModel, (() -> Action<UFLModel>) -> Void) throws -> Void
        ) -> Action<UFLModel>
    {
        return Action(id: "\(self).\(name)", body: { try body($0, $1); return { _ in } })

{
    let id: String
    
    let body: (UFLModel, @escaping (() -> Action<UFLModel>) -> Void) throws -> Mutations<UFLModel>
}

//===
