Every object mapper is a black box in production: to know what it mapped, you read generated source or add print statements. Telescope mappers answer the question themselves — explain() returns the mapping as data, trace(input) shows the values flowing through, and a log level makes every conversion narrate itself. Plus the receipts: a 29-feature MapStruct parity audit that found and fixed a real bug in my own library.
MapStruct, Java's most popular object mapper, still names fields with unchecked string literals. Telescope makes them compile-checked method references instead: codegen that keeps pace with MapStruct at realistic depth, a strictly larger surface, and a switch you can make one mapper at a time. The honest comparison, runtime costs included.
Telescope started as a converter registry, drifted into an academic port of Scala Monocle's optic lattice, and turned — through five rewrites — into a single-type Java DSL with compile-time codegen, a generated Path navigator, and a benchmark suite that says it pays. The story of getting category theory to disappear.
How KPipe stacks up against Confluent Parallel Consumer, Reactor Kafka, and a hand-rolled KafkaConsumer + virtual-thread executor. Latest snapshot from the 4-runtime harness.