* Yes, yes we are, and yet we still insist that red/blue paint will match the bikes better. we are nothing if not stubborn.
 * If you want to use this metric to compute ROC curves (or roc like things) (I really hope no one tries that (this would be necessary to replicate some research)) the "traditional" recall is necessary 
 * I don't want to add in a third column, too many "informative" columns in the output seems like something worth avoiding.
 * (Im guessing this isn't want you meant but...) just dividing by `items.size()` (rather than `min(...)` is precision, we already return that.
 * looking at Bellogin's thesis recall is defined as good in top k divided size of good set no consideration for list size.
 * If we really want a general solution we should return `topN.true.positive`, `topN.false.positive`, and `topN.false.negative` and let the user use these (as well as `topn.length`) to compute their own darn result. 

(why don't we just have a garbage chute that leads to a garbage sorting shed, then we wont have to paint anything)