code: private Status executeIf(Stmt.IfElse stmt, CallStack frame, EnclosingScope scope) {
  		RValue.Bool operand = executeExpression(BOOL_T, stmt.getCondition(), frame);
  		if (operand == RValue.True) {
  			// branch taken, so execute true branch
  			return executeBlock(stmt.getTrueBranch(), frame, scope);
  		} else if (stmt.hasFalseBranch()) {
  			// branch not taken, so execute false branch
  			return executeBlock(stmt.getFalseBranch(), frame, scope);
  		} else {
  			return Status.NEXT;
  		}
  	}
docs: Execute an if statement at a given point in the function or method body.
  This will proceed done either the true or false branch.
  
  @param stmt
  --- The if statement to execute
  @param frame
  --- The current stack frame
  @return