# loadt "Library/words.ml";;
...
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term =
`(word_join:(64)word->(64)word->(?194629)word) (word 10) (word 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term = `word_join (word 10) (word 20)`
# print_types_of_subterms := 0;;
val it : unit = ()
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term = `word_join (word 10) (word 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term = `word_join (word 10) (word 20)`
# print_types_of_subterms := 2;;
val it : unit = ()
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term =
`(word_join:(64)word->(64)word->(?194609)word) ((word:num->(64)word) 10)
((word:num->(64)word) 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term =
`(word_join:(64)word->(64)word->(128)word) ((word:num->(64)word) 10)
((word:num->(64)word) 20)`