I have gotten as far as…
perhaps some python gurus would like to chime in… as “expected Plane, got Plane” is not very helpful
import clr
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
from System.Collections.Generic import *
walls = UnwrapElement(IN[0])
planes = IN[1]
rvt_planes =list()
mirrored = list()
e1=[]
count = 0
TransactionManager.Instance.EnsureInTransaction(doc)
for p in planes:
rvt_planes.append(p)
for w, rp in zip(walls, rvt_planes):
e1.append(w.Id)
Icoll = List[ElementId](e1)
ElementTransformUtils.MirrorElements(doc, Icoll, rp,1)
TransactionManager.Instance.TransactionTaskDone()
OUT = "%s elements mirrored" %count