def WeightedLearner(unweighted_learner):
def train(dataset, weights):<EOL><INDENT>return unweighted_learner(replicated_dataset(dataset, weights))<EOL><DEDENT>return train<EOL>
Given a learner that takes just an unweighted dataset, return
    one that takes also a weight for each example. [p. 749 footnote 14]