overload_interface : string * term -> unit
# overload_interface("+",`(\/)`);;
val it : unit = ()
# `(x = 1) + (1 + 1 = 2)`;; val it : term = `(x = 1) + (1 + 1 = 2)`
# overload_interface("+",`APPEND`);;
Warning: inventing type variables
val it : unit = ()
# APPEND;;
val it : thm = |- (!l. [] + l = l) /\ (!h t l. CONS h t + l = CONS h (t + l))