On Thu, 2005-08-11 at 23:02 -0400, Swaroop Sridhar wrote: > # exception Xn;; > exception Xn > > # let p = if true then id else id;; > val p : 'a -> 'a = <fun> > > # let q = if true then id else raise Xn;; > val q : '_a -> '_a = <fun> I believe that it is the second case that we find puzzling.