-- file: ch02/myDrop.hs
myDrop n xs = if n <= 0 || null xs
              then xs
              else myDrop (n - 1) (tail xs)  
The 
if keyword introduces an expression that has three components.
- An expression of type Bool, immediately following the if. We refer to this as a predicate. 
- A then keyword, followed by another expression. This expression will be used as the value of the if expression if the predicate evaluates to True. 
- An else keyword, followed by another expression. This expression will be used as the value of the if expression if the predicate evaluates to False.
- The null function indicates whether a list is empty, while the (||) operator performs a logical “or” of its Bool-typed arguments. 
ghci> :type null
null :: [a] -> Bool
ghci> :type (||)
(||) :: Bool -> Bool -> Bool