Not very important, but i would add a new argument to `u.predicition_to_row` indicating whether the returned value should include the full data or not, to have the logic of creating a prediction row all in one place (actually, you'll probably need two arguments...).