test.hs:3:22:
Couldn't match expected type `f0 L' with actual type `L'
In the return type of a call of `S'
In the second argument of `(<$>)', namely `S 0'
In the first argument of `(:)', namely `d <$> S 0'
test.hs:3:26:
Couldn't match type `L' with `f0 b0'
Expected type: [f0 b0]
Actual type: [L]
In the second argument of `(:)', namely `z'
In the first argument of `maximum', namely `(d <$> S 0 : z)'
In the second argument of `(+)', namely `maximum (d <$> S 0 : z)'