Another possibility (which I mentioned initially when we discussed this in IRC)
is to use a 2-dimensional UB-Tree index. This would be the most efficient way,
both in speed and in size (only a single index is required).
(class +Proj +Macropisobj)
(rel sDate (+UB +Aux +Ref +Date) (eDate))
(rel eDate (+Date))
Then a 'collect' would find the range directly:
(collect 'sDate '+Proj (list Sdate Sdate) (list Edate Edate))