From system F to typed assembly language (ACM transactions on programming languages and systems, 1999)