Fix map: and flatMap: to take another type as an argument