functionality 
Character. Setting instructing Apollo what processing to apply to the likelihood function. This is in general controlled by the functions that call apollo_probabilities , though the user can also call apollo_probabilities manually with a given functionality for testing/debugging. Possible values are:

"components" : For further processing/debugging, produces likelihood for each model component (if multiple components are present), at the level of individual draws and observations.

"conditionals" : For conditionals, produces likelihood of the full model, at the level of individual interindividual draws.

"estimate" : For model estimation, produces likelihood of the full model, at the level of individual decisionmakers, after averaging across draws.

"gradient" : For model estimation, produces analytical gradients of the likelihood, where possible.

"output" : Prepares output for postestimation reporting.

"prediction" : For model prediction, produces probabilities for individual alternatives and individual model components (if multiple components are present) at the level of an observation, after averaging across draws.

"preprocess" : Prepares likelihood functions for use in estimation.

"raw" : For debugging, produces probabilities of all alternatives and individual model components at the level of an observation, at the level of individual draws.

"report" : Prepares output summarising model and choiceset structure.

"shares_LL" : Produces overall model likelihood with constants only.

"validate" : Validates model specification, produces likelihood of the full model, at the level of individual decisionmakers, after averaging across draws.

"zero_LL" : Produces overall model likelihood with all parameters at zero.
