code: function choice(...alternatives) {
      const altsDefs = _.map(alternatives, alt => {
          return new Flat({ definition: toDefinition(alt) })
      })
  
      const orgTextParts = _.map(alternatives, toOriginalText)
  
      const definition = new Alternation({ definition: altsDefs })
      definition.orgText = `choice(${orgTextParts.join(", ")})`
  
      return {
          toRule: toRule,
          definition: definition
      }
  }
docs: rule: A | B | C | ...