A simple example of using an Observable in F#

open System;  
open System.Timers;  
open System.Threading.Tasks;

let t1 = new Timer(float 500);  
let disposable =  
    t1.Elapsed 
        |> Observable.map(fun _ -> "t1") 
        |> Observable.subscribe(fun s -> printfn "%s" s)

t1.Start()  
Task.Delay(10000).GetAwaiter().GetResult();  
disposable.Dispose();