json "inception", finally, using the companion object FunctionX trick