Given inputs and outputs brute forces a Ramda solution. The solver is very simple and just brute forces the solution by iterating over a bunch of functions. Since Ramda is sooooo good at currying, we can combine multiple functions by providing derived functions as inputs to other functions, like R.map for example, as first arguments. I also use the data to guide the solution tries. For example, R.has(...) tries every string from the input and output as a property name.