Renamed Empty to EmptyList.
Defined MyEither.
Defined Functors for Lists, Maybes, Trees and Eithers.