ex. 4.3 - map2
ex. 4.3 - map2 - remove empty line
ex. 4.4 - sequence
ex. 4.4 - sequence - slightly different spec change for empty list
ex. 4.4 - sequence - remove unused cast (due to change of what happens on empty list this not needed anymore)
ex. 4.4 - sequence - impl without map2
ex. 4.5 - traverse
ex. 4.5 - traverse_2 (foldRight)