Functional programming and composable pipelines