public SimpleNode interpret(Environment env) {
		env.print();
	  System.out.println(((SimpleNode) jjtGetChild(0)).type);
	  if (((SimpleNode) jjtGetChild(0)).type.equals("ident")) {
		  ASTList clone = new ASTList(((SimpleNode) jjtGetChild(0)).interpret(env).id);
		  clone.name = "(";
		  clone.type = ((SimpleNode)jjtGetChild(0)).interpret(env).type;
		  for(int i = 0; i < ((SimpleNode) jjtGetChild(0)).interpret(env).jjtGetNumChildren()-1; i++) {
			  clone.jjtAddChild(((SimpleNode) ((SimpleNode) jjtGetChild(0)).interpret(env).jjtGetChild(i + 1)).interpret(env), i);
			  clone.name += ((SimpleNode) ((SimpleNode) jjtGetChild(0)).interpret(env).jjtGetChild(i + 1)).interpret(env).name + " ";
		  }
		  clone.name += ")";
		  return clone;
	  }
	  else {
		  ASTList clone = new ASTList(((SimpleNode) jjtGetChild(0)).id);
		  clone.name = "(";
		  clone.type = ((SimpleNode) jjtGetChild(0)).type;
		  //Added Cons check
		  if (((SimpleNode)jjtGetChild(0).jjtGetChild(1)).type.equals("cons")) {
			  ASTList temp = (ASTList) (((SimpleNode) jjtGetChild(0).jjtGetChild(1)).interpret(env));
			  System.out.println(temp.jjtGetNumChildren());
			  for(int i = 0; i < (temp.jjtGetNumChildren() - 1); i++) {
				  System.out.println("i: " + i);
				  clone.jjtAddChild(temp.jjtGetChild(i + 1), i);
				  System.out.println(((SimpleNode)temp.jjtGetChild(i + 1)));
				  clone.name += ((SimpleNode)temp.jjtGetChild(i + 1)).interpret(env).name + " ";
			  }
		  }
		  else {
			  for(int i = 0; i < jjtGetChild(0).jjtGetNumChildren()-1; i++) {
				  clone.jjtAddChild(((SimpleNode) jjtGetChild(0).jjtGetChild(i + 1)).interpret(env), i);
				  clone.name += ((SimpleNode) jjtGetChild(0).jjtGetChild(i + 1)).interpret(env).name + " ";
			  }
		  }
		  clone.name += ")";
		  System.out.println(clone.jjtGetNumChildren());
		  return clone;
  		}
  }