type fonctions_booleennes = Fbool of bool -> bool ;;
let vrai = Fbool (function x -> true)
and faux = Fbool (function x -> false);;
let ou = function f1 -> function f2 ->
match (f1,f2) with
((Fbool f1), (Fbool f2)) ->
Fbool (function x -> (f1 x) || (f2 x)) ;;