I’m looking for design rationale here. I can understand making collection classes Serializable as a matter of course, although JCF doesn’t do that. Nevertheless, the Procedure, IntProcedure, etc. interfaces in particular are prime candidates for not being Serializable since they will often be anonymous anyway. Making those interfaces Serializable goes against Josh Bloch’s advice that interfaces should rarely extend Serializable[1].