Add functional state flatMap.
Add map, map2 based on flatMap.