codec fails to unpack recursive type like this: ```scala case class FileEntry( name: String, path: String, isDirectory: Boolean, size: Long, lastUpdatedAtMillis: Long, content: Option[String] = None, children: List[FileEntry] = List.empty ): ```