Type inference for GADTs, outsidein and anti-unification - Ribeiro R. (2018)