sig val iff : bool -> 'a -> 'a option end