in chill-scala/src/main/scala/com/twitter/chill/ScalaKryoInstantiator.scala [190:210]
def apply(k: Kryo): Unit = {
new ScalaCollectionsRegistrar()(k)
new JavaWrapperCollectionRegistrar()(k)
// Register all 22 tuple serializers and specialized serializers
ScalaTupleSerialization.register(k)
k.forClass[Symbol](new KSerializer[Symbol] {
override def isImmutable = true
def write(k: Kryo, out: Output, obj: Symbol): Unit = out.writeString(obj.name)
def read(k: Kryo, in: Input, cls: Class[Symbol]): Symbol = Symbol(in.readString)
}).forSubclass[Regex](new RegexSerializer)
.forClass[ClassTag[Any]](new ClassTagSerializer[Any])
.forSubclass[Manifest[Any]](new ManifestSerializer[Any])
.forSubclass[scala.Enumeration#Value](new EnumerationSerializer)
// use the singleton serializer for boxed Unit
val boxedUnit = scala.runtime.BoxedUnit.UNIT
k.register(boxedUnit.getClass, new SingletonSerializer(boxedUnit))
PackageRegistrar.all()(k)
new Java8ClosureRegistrar()(k)
}