Composable folds using an applicative interface for OCaml