// http://www.cis.upenn.edu/~bcpierce/tapl/checkers/untyped/ #![allow(dead_code)] #![allow(unused_variables)] #![allow(unused_imports)] use std::fmt::Debug; use std::fmt::Formatter; use std::fmt::Error; #[derive(Clone,PartialEq)] pub enum Term { // Single Varialbe Var(isize, // de Bruijn Index. usize), // length of Context where this variable appealed. // Abstraction Abst(String, // lambda variabl