add final asm return of proper type, not always int