listIndex :: {-Show a =>-} [a] -> Int -> a 
listIndex as i = {-traceShow (as, i) $ -} as !! i
listIndex :: {-Show a =>-} [a] -> Int -> a
listIndex as i = {-traceShow (as, i) $ -} as !! i
listIndex as i = {-traceShow (as, i) $ -} as !! i