Constraints in the same module with the same handle do not result in an error in some cases (when they are in different source files).
Example 1
For example:
test_a.lisp
(defcolumns (X :i16) (Y :i16))
(defclookup test (Y) 1 (X))
test_b.lisp
(defclookup test (X) 1 (Y))
In this case, there is no error reported.
Example 2
A simpler example is the following:
(module m1)
(defcolumns (X :i16) (Y :i16))
(defclookup test (Y) 1 (X))
(module m1)
(defclookup test (X) 1 (Y))