When I try this in Idris,
contrived : (List a, Char, (Int, Double), String, Bool) -> Bool
contrived ([] , 'b', (1, 2.0), "hi" , True) = False
contrived (a, b, c, d, e) = True
I receive the error message Can't infer argument a to contrived, Can't infer argument a to List, Can't infer argument a to []
. But looking at the Manning book, I don't see any obvious syntactic issues with my approach.