Wouldnt it be better to just change the values for the Optional.Interface to take arrays?