The Values package is my base library for almost everything I do. It provides Values (as opposed to Objects) which are simple, immutable objects. Values can only be created but never modified. This allows for a functional programming style and simplyfies systems, since much less state has to be maintained. Especially I like to see all structure and details (of complex values) at a glance and the ease of creating test values.
I wrote a (scientific) dry paper about it and presented it at ESUG 2009 in Brest. I think that nobody understood it… . You can buy the paper from the ACM or you can see the draft of the paper with identical content on which the ACM does not have the copyright. The slides of the talk are here.