add post on why functional languages