#functional programming benefits