some fun with lists, first flaw: can't choose arbitrary file names, e.g list.ml causes errors as there is a module List
more fun with lists and generic functions
in ocaml you can also have fun with pipes
some fun with tail recursion