Streamline Discrepancy implementation
BayesInference considers three possible types of given discrepancy, each with a different interface. This makes the Inference difficult to read and modify. Can this be improved by moving this distinction into the Discrepancy class?