don't use definline cause it's currently broken with AOT