         }
     }
     
-    private func writeFunctionType(name: String, functionType: Parser.FunctionType, to output: inout String) {
+    private func writeUnitFunction(name: String, functionType: Parser.FunctionType, to output: inout String) {
         output.append("""
             extension Function.A {
-                var \(name): \(name)Producer {
+                var \(name)Unit: \(name)Producer {
                     return { Function.A(producer: .\(name)(.init(self
             """)
         for (i, type) in functionType.argumentTypes.enumerated() {

            writeCommaSeparated(functionType.argumentTypes.enumerated(), to: &output) {
                output.append("Function.A(argumentNumber: \($0.offset + 1))")
                if case .function? = parser.typesMap[$0.element] {
                    output.append(".\($0.element)")
                }
            }
            output.append(")\n")

        }
        output.append(")))")
        if let returnType = functionType.returnType, case .function = parser.typesMap[returnType]! {
            output.append(".\(returnType)Unit")
        }
        output.append("\n}\n\n")
    }
