public static function diff(DateTime $a, DateTime $b, bool $absolute = false) : self
    {
        $microseconds = $b->microsecond() - $a->microsecond();
        
        if ($absolute) {
            $microseconds = abs($microseconds);
        }
        
        $diff = $a->toInternalDateTime()->diff($b->toInternalDateTime(), $absolute);
        
        return new static($diff, $microseconds);
    }