Calculated surprises : a philosophy of computer simulation / Johannes Lenhard. New York : Oxford University Press, 2019