let with_identity = { cons = M.return; fin = (fun _r -> M.return ()); }