How do I fix this error? CreateFreeForm is expecting RebarFreeFormValidationResult& but my input is RebarFreeFormValidationResult

This is script that I write to create rebar free form and it show this error

TypeError: No match found for the method signature CreateFreeForm[Document, RebarBarType, Element, IList `1, RebarFreeFormValidationResult]. Expected [Document, RebarBarType, Element, IList` 1, RebarFreeFormValidationResult&] 

While the only problem are my input is RebarFreeFormValidationResult but its expected RebarFreeFormValidationResult&. What is this sign “&” mean how do I make a change from RebarFreeFormValidationResult to RebarFreeFormValidationResult&?

These is my full scripts

# Load the Python Standard and DesignScript Libraries
# Import Common Language Runtime
import clr
# Import Revit Services
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
from System.Collections.Generic import IList

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
from Autodesk.Revit.DB.Structure import RebarBarType, RebarFreeFormValidationResult
import Autodesk.Revit.DB as DB

clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

import System
from System.Collections.Generic import *

#get the document
doc = DocumentManager.Instance.CurrentDBDocument

#Function
def line(number1, number2, number3, number4, number5, number6, number7, number9, number10):
    XR1 = RebarFreeFormValidationResult
    XR2 = RebarFreeFormValidationResult
    x1 = number1
    y1 = number2
    z1 = number3
    x2 = number4
    y2 = number5
    z2 = number6
    nx1 = number1 + number7
    count = 0
    #While loop to auto create point that move 300 mm in y direction everytime loop goes.
    while (count < 2):
	    pt1 = XYZ(x1, y1, z1)
	    pt2 = XYZ(x2, y2, z2)
	    pt3 = XYZ(nx1, y1, z1)
	    pt4 = XYZ(nx1, y2, z2)
	    #Create line using pt1, pt2, pt3 and pt4
	    line1 = DB.Line.CreateBound(pt1, pt2)
	    line2 = DB.Line.CreateBound(pt3, pt4)
	    #Start Transaction
	    TransactionManager.Instance.EnsureInTransaction(doc)
	    rebar_list = []
	    #Create Rebar from Line that use pt1 and pt2 as start and finish point
	    rebar1 = Rebar.CreateFreeForm.Overloads[Document, RebarBarType, Element, IList[IList[Curve]], RebarFreeFormValidationResult](doc, number9, number10, line1, XR1)
	    #Create Rebar from Line that use pt3 and pt4 as start and finish point
	    rebar2 = Rebar.CreateFreeForm.Overloads[Document, RebarBarType, Element, IList[IList[Curve]], RebarFreeFormValidationResult](doc, number9, number10, line1, XR2)
	    #List
	    rebar_list.append(rebar1.ToDSType(False))
	    rebar_list.append(rebar2.ToDSType(False))
	    #End Transaction
	    TransactionManager.Instance.TransactionTaskDone()
	    #y-axis coordination move
	    y1 = y1 + number7
	    y2 = y2 + number7
	    #increase loop count
	    count = count + 1

#Scripts Inputs
num1 = IN[0]
num2 = IN[1]
num3 = IN[2]
num4 = IN[3]
num5 = IN[4]
num6 = IN[5]
num7 = IN[6]
style = UnwrapElement(IN[8])
type = UnwrapElement(IN[9])
model = UnwrapElement(IN[10])

#Call Function
result = line(num1, num2, num3, num4, num5, num6, num7, type, model)

OUT = rebar_list