public NLPActionResult QuestionIsaXaY(amIsAre isVerb,
                                       [Optional] AAn a, INoun noun,
                                       [Optional] AAn a2, INoun @class)
 {
     intent.AnswerIsXaY(st, noun, @class);
     return(NLPActionResult.None);
 }
 [Priority(10000)]   // over the non-ambiguous form
 public NLPActionResult QuestionIsaXaY(amIsAre isVerb,
                                       [Optional] AAn a, IAmbiguous <INoun> nounAmbiguous,
                                       [Optional] AAn a2, IAmbiguous <INoun> classAmbiguous)
 {
     intent.AnswerIsXaY(st, nounAmbiguous, classAmbiguous);
     return(NLPActionResult.None);
 }
 public Prefix WhatIs(what what, amIsAre isAre)
 {
     return(new Prefix {
         Original = "what is", OptionalResponsePrefix = ""
     });
 }