F# method to insert, update, or delete events in a dictionary
You have probably found a good solution long time ago, but here is my suggestion:
member this.ProcessEvent(sourceStream: OrderResponse) =          
    let handler: (Order -&gt; unit) = 
        match sourceStream.Action with
        | Action.Partial
        | Action.Insert -&gt; (fun x -&gt; this.orderState.[x.OrderId] &lt;- this.ConvertFullOrder x)
        | Action.Update -&gt; (fun x -&gt; this.orderState.[x.OrderId] &lt;- this.UpdateOrder x this.orderState.[x.OrderId])
        | Action.Delete -&gt; (fun x -&gt; this.orderState.Remove(x.OrderId) |&gt; ignore)
        | _ -&gt; (fun x -&gt; ())

    sourceStream.Data |&gt; Seq.iter handler

I'm not sure. what type x has, so for the illustration I just call it Order in the handler definition.