@Override
 public String visitInputReference(InputReference node, Boolean unmangleNames) {
   // add colon so this won't parse
   return ":input(" + node.getChannel() + ")";
 }
 @Override
 public Type visitInputReference(InputReference node, AnalysisContext context) {
   Type type = tupleDescriptor.getFieldByIndex(node.getChannel()).getType();
   expressionTypes.put(node, type);
   return type;
 }