title: Should time range checks be inclusive or exclusive?
body: <p>The general convention for a generic range <code>(x,y)</code> is that x is inclusive and y is exclusive.</p>
  
  <p>For Python <code>datetime.time</code> type, <code>datetime.time.max</code> is <code>time(23, 59, 59, 999999)</code>, so it doesn't seem to allow to use the conventional range check on the upper end. For example, if I want to check a time range between 10 am and midnight, I might want a range like this: <code>(time(10), time(24))</code>. But <code>time(24)</code> is not valid, even as a sentinel value.</p>
  
  <p>On the other hand, we can't make x exclusive and y inclusive, because then we lose <code>time(0)</code> as a value.</p>
  
  <p>Should range checks on time be inclusive? Something about it doesn't seem right to me, but I can't articulate it.</p>