2012-03-28: Changed representation of streams to provably satisfy computational complexity guarantees. Thanks to Arthur Charguéraud <email@example.com> for pointing out this issue! Added Apache license Version 2.0. 2006-03-29: Removed superfluous thunking of "empty" values in polymorphic 2006-03-29: Removed superfluous thunking of "empty" values in polymorphic datastructures due to relaxed value restriction in new OCaml-releases. 2002-07-23: Small beautification. 2001-06-05: Made code more idiomatic. Implemented stubs in chapter 8. 1999-04-09: Initial release.