The constructor should definitely accept either (in fact, it may not even need to be typed). All that needs changing is the type of the internal storage field.