Literature survey of type inference algorithms for statically typed languages