Try using a List.AnyTrue node after the IsNull and make sure your lacing is correct. That should get your initial list and the True/False back to matching lists.
Not sure I understand properly the goal. But using list.clean with the bool input at false will remove nulls
the nulls appear when I try to get the faces of the beams from the first list, and then those nulls give me trouble during the script routine, therefore I want to leave the list without those troublesome beams
Is using list.clean as Jean Marc suggested or replace.null not what you are looking for?
You want to use @SeanP’s method of checking to make sure all surfaces exist first.