In gcc 4.84 in file /usr/include/c++/4.8 we have

```
namespace std  
{
   typedef duration<int64_t, nano>     nanoseconds;

```

Why is the representation type for nanosecond a signed integer type? Why isn't it unsigned? when can we have a duration object with a negative value ?