You are about to choose between two modules to use in your design, both of which compute the minimum value in an array of integers. One module returns the smallest representable integer if the input array is empty. The other module requires a nonempty array. Which module is better, and why?
Consider a module that takes two arrays of integers, and creates and returns a new array of integers whose elements are the sums of the respective elements of the input arrays.
How might this module fail? If this module were responsible for recovering from these failures, how might it do so?