OCamlDuce is an enhancement to OCaml that allows one to use XML features, such as types and values, natively in OCaml programs.