1. H. Abelson G. J. Sussman and J. Sussman. 1984. Structure and Interpretation of Computer Programs. MIT Press.
2. J. Bloch. 2008. Effective Java, Second Edition. Addison-Wesley.
3. John Boyland, James Noble, and William Retert. 2001. Capabilities for Sharing. In ECOOP 2001 — Object-Oriented Programming, Jørgen Lindskov Knudsen (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 2–27.
4. M. Coblenz, W. Nelson, J. Aldrich, B. Myers, and J. Sunshine. 2017. Glacier: Transitive Class Immutability for Java. In 39th International Conference on Software Engineering. IEEE/ACM.
5. Exploring language support for immutability