Right now the value it gives back is not always a subtype of the prediction. This is because we don't have a good way to produce an object.