The "FindElements" functions in element.go, session.go, and shadowroot.go do not work as expected as the for loops are modifying copies of the elements rather than those in the array. In each case changing the for loops from:
for _, element := range elements {
element.SessionID = e.SessionID
element.client = e.client
to:
for index, _ := range elements {
elements[index].SessionID = e.SessionID
elements[index].client = e.client
appears to fix the issue.