test(tests/lean/run): use 'cases' tactic
test(tests/lean/run): try different ways to pack mutually recursive datatypes