def set_choices(choices)
      return false unless valid?
      @mim.set_ch case choices
                  when Integer; @mim.choxq[0...choices]
                  when Array; choices
                  else fail ArgumentError, 'Invalid choice set'
                  end
      true
    end
def set_choices(choices)
      return false unless valid?
      @mim.set_ch case choices
                  when Integer; @mim.choxq[0...choices]
                  when Array; choices
                  else fail ArgumentError, 'Invalid choice set'
                  end
      true
    end
Setting the choices/questions to analyze. If this function is not called,
 the maximum number of choices/questions allowed by the layout will be
 evaluated.

 @param choices [Integer, Array] the questions/choices we want subsequent
   scoring/overlaying to apply to. Normally, `choices` should be an array
   of integers, with each element indicating the number of available
   choices for the corresponding question (i.e. `choices.length` is the
   number of questions). As a shortcut, `choices` can also be a single
   integer value, indicating the number of questions; in such case, the
   maximum number of choices allowed by the layout will be considered.

 @return [Boolean] True if the sheet is properly registered and ready to
   be marked; false otherwise.