types through polymorphic functions
move cmt handling in its own file (WIP)
really move cmt handling in its own file
git mv cmt.ml[i] cmt_file.ml[i]