anchor.diff:    procedure,private :: lt
     procedure,private :: le
   
  -  generic :: operator(+) => datetime_plus_timedelta!,&
  -                            !timedelta_plus_datetime
  -  generic :: operator(-) => datetime_minus_datetime,&
  -                            datetime_minus_timedelta
  -
  +  generic :: operator(+)  => datetime_plus_timedelta
  +  generic :: operator(-)  => datetime_minus_datetime,&
  +                             datetime_minus_timedelta
     generic :: operator(==) => eq
     generic :: operator(/=) => neq
     generic :: operator(>)  => gt
  
positive.code: !=======================================================================
  
    class(datetime),intent(in) :: d0
    type(datetime), intent(in) :: d1
  
    lt = d1 > d0
  
  
negative.code: !=======================================================================
  
    class(datetime),intent(in) :: d0
    class(datetime),intent(in) :: d1
  
    type(datetime) :: d0_utc,d1_utc
  
  