code: func IsConstant(v Value) bool {
  	found := false
  	Walk(&GenericVisitor{
  		func(x interface{}) bool {
  			switch x.(type) {
  			case Var, Ref, *ArrayComprehension, *ObjectComprehension, *SetComprehension, Call:
  				found = true
  				return true
  			}
  			return false
  		},
  	}, v)
  	return !found
  }
docs: // IsConstant returns true if the AST value is constant.