public static Tile Pop()
 {
     return(new Tile(typeof(PopNode),
                     new [] {
         makeTile <RegisterNode> ()
     },
                     (regNode, node) => {
         var root = node as PopNode;
         var reg = root.Value as RegisterNode;
         return new[] {
             InstructionFactory.Pop(reg)
         };
     }
                     ));
 }