Reduce the vector of posterior results to a scalar using a callable.
reduce :: ([v] -> v) -> [v] -> v
efficiency!
implement foldl' and keep this as a special case