Fix hal_collection embedded. TODO: check circular reference