Generic Diff3 for Algebraic Datatypes - Vassena, Marco (Proceeding TyDe 2016, Proceedings of the 1st International Workshop on Type-Driven Development, 2016)