this looks like split would return a datetime object. I think it would be more appropriate for it to return, maybe a list, of timerange objects.