What is cosh(List(Bool))? Or beyond algebra: analysis of data types