The explicit? predicated determines whether its argument is a explicit Sol set.
(define (explicit? obj)
(and
(and
(list? obj)
; Check to see if OBJ is a non-null list
(not (null? obj)))
(or
; Check to see if first element
(eq? 'set (car obj))
; is 'SET or 'ORDERED
(eq? 'ordered (car obj)))))