(module real_consume (data Box (doc "heap cell") (ctor Box (con Int))) (data Pair (doc "two boxes") (ctor Pair (con Box) (con Box))) (fn dup (doc "MUST STAY an error: a heap param consumed twice without clone") (type (fn-type (params (own (con Box))) (ret (own (con Pair))))) (params b) (body (term-ctor Pair Pair b b))))