functional programming concepts post