genericDrop

The genericDrop function is an overloaded version of drop, which accepts any Integral value as the number of elements to drop.
Generic version of drop
Drop a prefix of given length.
O(i) | i < n and O(1) | otherwise. The genericDrop function is an overloaded version of drop, which accepts any Integral value as the number of elements to drop.
>>> genericDrop 6 $ slist "Hello World"
Slist {sList = "World", sSize = Size 5}

>>> genericDrop 42 $ slist "oops!"
Slist {sList = "", sSize = Size 0}

>>> genericDrop 0 $ slist "Hello World!"
Slist {sList = "Hello World!", sSize = Size 12}

>>> genericDrop (-4) $ one 42
Slist {sList = [42], sSize = Size 1}
>> drop 5 $ infiniteSlist [1..]
Slist {sList = [6..], sSize = Infinity}