"Generic functions have appeared in several object systems in the past, notably CLOS [15] and Dylan [28]. Julia is distinguished from these in that it uses generic functions as its primary abstraction mechanism, putting it in the company of research languages like Diesel [10] and Cecil [9]." :-) ]
Behold!
CL-USER> (defun f (x) (declare (single-float x)) (* x x))
F
CL-USER> (compile 'f)
F
NIL
NIL
CL-USER> (disassemble 'f)
; disassembly for F
; Size: 37 bytes. Origin: #x10048EACEC
; CEC: 498B4C2460 MOV RCX, [R12+96] ; thread.binding-stack-pointer
; no-arg-parsing entry point
; CF1: 48894DF8 MOV [RBP-8], RCX
; CF5: 0F28D1 MOVAPS XMM2, XMM1
; CF8: F30F59D1 MULSS XMM2, XMM1
; CFC: 660F7ED2 MOVD EDX, XMM2
; D00: 48C1E220 SHL RDX, 32
; D04: 4883CA19 OR RDX, 25
; D08: 488BE5 MOV RSP, RBP
; D0B: F8 CLC
; D0C: 5D POP RBP
; D0D: C3 RET
; D0E: 0F0B10 BREAK 16 ; Invalid argument count trap
NIL