"Grains" is a small Java framework for generating immutable, extensible objects.