This talk demonstrates how to build your own data type library resulting in a simple/functional/extensible record system.
Similar to the way Haskell handles data types, included are: value constructors, pattern matching, sum types, recursive types and some thoughts on building type classes ...all in Scheme!