            [org.javarosa.core.services.locale Localization]
            [org.javarosa.core.services.storage StorageManager]
            [org.javarosa.core.model Constants]
-           [org.javarosa.core.model.data SelectMultiData]
+           [org.javarosa.core.model.data AnswerDataFactory SelectMultiData UncastData]
            [org.javarosa.core.model.condition EvaluationContext]
            [org.javarosa.core.model.instance FormInstance]
            [org.javarosa.core.model.trace StringEvaluationTraceSerializer]
            [org.javarosa.engine XFormEnvironment]
-           [org.javarosa.form.api FormEntrySession]
-           [org.javarosa.form.api FormEntryController]
-           [org.javarosa.form.api FormEntrySessionReplayer]
-           [org.javarosa.form.api FormEntrySessionReplayer$ReplayError]
-           [org.javarosa.xpath XPathNodeset]
-           [org.javarosa.xpath XPathParseTool]
+           [org.javarosa.form.api FormEntrySession FormEntryController 
+            FormEntrySessionReplayer FormEntrySessionReplayer$ReplayError]
+           [org.javarosa.xpath XPathNodeset XPathParseTool]
            [org.javarosa.xpath.expr XPathFuncExpr]
            [org.javarosa.xpath.parser XPathSyntaxException]
            [org.commcare.session SessionFrame]

  (let [user-input (read-line)]
    (when (if (string/starts-with? user-input ":")
            (process-command entry-controller (subs user-input 1))
            (answer-question user-input))
      (recur entry-controller))))

;; FormDef CommCareSession String String -> None

        choices-text))))

(defn show-question [entry-prompt]
  (println entry-prompt)
  (let [choices (.getSelectChoices entry-prompt)]
    (when (not (nil? choices))
      (show-choices entry-prompt choices))
