;;; $Id: or.def,v 1.3 1999/02/25 03:27:10 leavens Exp $

(defrep (or S T) (vector datum))

(deftype or? (-> (datum) boolean))
(deftype make-left (-> (S) (or S T)))
(deftype make-right (-> (T) (or S T)))
(deftype or-is-left? (-> ((or S T)) boolean))
(deftype or-is-right? (-> ((or S T)) boolean))
(deftype or->left (-> ((or S T)) S))
(deftype or->right (-> ((or S T)) T))
(deftype or-case (-> ((or S T) (-> (S) U) (-> (T) U)) U))

