language built-ins are not fully replaceable with extensions and libraries. Most notably: (1) Compilers have more ways to optimize if given higher level abstractions, (2) built-ins are easier to use for the user because of specific syntax (e.g. highlighting), (3) built-ins have support in debuggers (e.g. you can easily print an array slice in a Fortran debugger).
just a case in point: what do you think is easier to use, standards conformant and is more typesafe:
a) a typedef that gives you "__restrict const * const double"
b) declaring inputs as "real(8), intent(in)"