Hint: Split your function into two functions. The first one would be the one that the coder uses on a regular basis. The second would be the one that the first function uses behind the scenes for help (called a helper function).

I'll give you some of the code. Try filling in the rest (in the ... parts).

Code:

mkDecreasing [] = ... -- for an empty list
mkDecreasing (x:xs) = mkDecreasing' x xs
mkDecreasing' x [] = ... -- base case for a recursive call to mkDecreasing'
mkDecreasing' x (y:ys)
| ... = ...
| ... = ...

## Bookmarks