Inferring useful static types for duck typed languages. - Alexander Lamaison (2013)