<Query Kind="FSharpProgram" />

let (+-) x y = x + y - 1
let r = (+-) 3 4
let r' = 3 +- 4
printfn "%d %d" r r'

let f x = x + 1
let g x = x + x

let y = 10 |> f |> g
printfn "%d" y

let (|>>) x f = f x

let y' = 10 |>> f |>> g
printfn "%d" y'

let h = f >> g
let z = h 10
printfn "%d" z

let (>>>) f g = fun x -> g (f x)
let h' = f >>> g
let z' = h' 10
printfn "%d" z'