> And why does it need to be part of the type system?

As presented in the article, it is indeed just a library.