Virtual ADTs for Portable Metaprogramming | AMiner