Get and Set Background-opened Family Parameter values

@matthewsalazar below is the code I ended up with. Here are the inputs using data retrieved earlier in the script:
IN[0] = family file
IN[1] = Type Name
IN[2] = Input Parameter Current Value
IN[3] = Assembly Code

Let me know if you need more of the input process too.

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

docs = IN[0]
typs = IN[1]
vals = IN[2]

uiapp = DocumentManager.Instance.CurrentUIApplication

for n,doc in enumerate(docs):
	familydoc = uiapp.Application.OpenDocumentFile(doc)
	famMan = familydoc.FamilyManager
	inp = famMan.get_Parameter(IN[3])
	
	#go to matching type
	familyTypesItor = famMan.Types.ForwardIterator()
	familyTypesItor.Reset()
	while (familyTypesItor.MoveNext()):
		familyType = familyTypesItor.Current
		if familyType.Name == typs[n]:
			tc = Transaction(familydoc,"setnow")
			tc.Start()
			famMan.CurrentType = familyType
			tc.Commit()
			tc.Dispose()
			
			ts = Transaction(familydoc,"setnow")
			ts.Start()
			famMan.Set(inp,vals[n])
			ts.Commit()
			ts.Dispose()
	familydoc.Close()

#output all data for error report
OUT = IN[4]