Есть внутри библиотеки какие то потроха, которые в процессе записи как-то используются. Если пишем в aliased* и компилятор не может доказать, что эти переменные не могут алиаситься с буфером записи, это приводит к неоптимальному коду.
Именно так, но проблема не в использовании aliased типа, а в том, что любой aliased тип является unrestricted