         return na
     }
 
+    /// return the non-prefixed argument name
+    public var argumentName: String { return nonClashingName }
+
     /// return the, potentially prefixed argument name to use in a method declaration
     public var prefixedArgumentName: String {
-        let name = nonClashingName
-        let swname = name.swift
+        let name = argumentName
+        let swname = name.camelCase.swift
         let prefixedname = name == swname ? name : (swname + " " + name)
         return prefixedname
     }

}


/// Swift code for methods
public func argumentCode(_ arg: GIR.Argument) -> String {
    let prefixedname = arg.prefixedArgumentName
    let type = arg.argumentType
    let code = "\(prefixedname): \(type)"
    return code
}


            let fname = override ? (method.cname.afterFirst() ?? (record.name + name.capitalised)) : name
            let deprecated = method.deprecated != nil ? "@available(*, deprecated) " : ""
            let consPrefix = constructorPrefix(method)
            let prefix = consPrefix == firstArgName?.swift ? nil : consPrefix
            let fact = factory ? "static func \(fname.swift)(" : "\(conv)init("
            let code = swiftCode(method, indentation + "\(deprecated)public \(fact)" +
                constructorParam(method, prefix) + ")\(returnDeclaration(method)) {\n" +
                    doubleIndent + call(method) +
                    indentation  + ret(method)  +
                "}\n", indentation: indentation)
