Question 1: For the array that would be used in Scoreboard, three possible mistakes that someone could make are returning a name's position even though the array is empty, returning a number of high scores outside of the index, and adding a value to the array with the wrong type.
Question 2: Scoreboard is created for the first time and it's empty. A name and a score are added to the array. To mutate the array multiple times, names and scores are added or removed.
Question 3:
A brand new instance of the Range class would contain only the values of start and stop that were passed to it. Nothing is mutated in the class. The class can also return a boolean for if a value is within the range, return the width, min, or max, and return the intersection of two ranges. The boundary conditions are min and max.