Functional programming using F# - Hansen, Michael R. (Cambridge University Press, 2013)