REDGUY: tedy, ten první bod je částečně pravda - prostě budeš potřebovat vědět, jestli to je pro dané prostředí "nativní" funkce, nebo jestli je to externí knihovna.
ten druhý bod není úplně pravda - resp. bude to asi stejně snadno zdokumentovatelné, jako dnešní chování libc funkcí - některé paměť alokují, jiné chtějí pointer na už alokovanou strukturu, apod.
zatím jsem popravdě nepřemýšlel, jak by vypadaly konvence pro psaní složitějších knihoven v mém prostředí: je asi zjevné, že funkce po sobě tak či onak uklidí to, co nepotřebuje, a neuklidí jen to, na co vrací nějaký odkaz (to je stejné, jako dnes, řekl bych). a ano - pokud to bude nativní C<<1 funkce, tak nejspíš ovšem neuvolní a bude alokovat v nadřazeném kontextu a ne pomocí malloc.
víceméně - pokuď místo standardního malloc() použiješ nějaký garbage collector či tak něco - jak to uděláš ? jsi na tom podle mě stejně, ty části programu či externí knihovny používající standardní malloc() místo tvého superalokátoru, budou od tvého systému správy paměti izolované (přiznám se, že na tak rozsáhlém projektu jsem zatím nedělal...)