:: int -> [a] -> [a] -package:base-prelude

The genericTake function is an overloaded version of take, which accepts any Integral value as the number of elements to take.
The genericDrop function is an overloaded version of drop, which accepts any Integral value as the number of elements to drop.
Taken number of elements must be at most the length of the list, otherwise the end of the list is undefined.
Dropped number of elements must be at most the length of the list, otherwise the end of the list is undefined.
Raise a polynomial to a non-negative integer power