Use the ('a, 'b) result type rather than exceptions in the xenstore read functions