code: private static String getFreeVariable(Expression2 expression, int index, Scope scope) {
      Expression2 sub = expression.getSubexpression(index);
      if (sub.isConstant()) {
        String constant = sub.getConstant();
        if (!constant.equals(LAMBDA) && !scope.isBound(constant)) {
          return sub.getConstant();
        } 
      }
      return null;
    }
docs: If {@code index} points to a free variable in {@code expression},
  return its name. Otherwise, returns null.
  
  @param expression
  @param index
  @param scope
  @return