let observe f =     Input.observe (fun () -> bwd (f ()))