type Contract = Contract1 | Contract2 | Contract3
let f contract =
match contract with
| Contract1 -> printfn "Found contract 1"
| Contract2 -> printfn "Found contract 2"
Contract1 |> f
Contract2 |> f
Contract3 |> f