Similar to
dropWhileEnd, drops the longest (possibly empty)
suffix of elements satisfying the predicate and returns the remainder.
dropWhileEnd p is equivalent to
reverse .
dropWhile p . reverse.
>>> {-# LANGUAGE OverloadedLists #-)
>>> dropWhileEnd even [1,2,3,4,6]
[1,2,3]