let mkvirtual =
              function
              | Ast.ViVirtual -> Virtual
              | Ast.ViNil -> Concrete
              | _ -> assert false