functional data structures for scheme