prototype: bind all preprocessing into single FuncDef + NodeDef