Tools for modeling data with functional programming