This little method that I wrote, changes spotlight1's position to the unexpected value.
If I understand well, setPosition method should set spotlight's translation relative to the tv's position
TV's translation: [0.0, 0.0, -5.0] setPosition to [0.0, 5.0, 0.5] relative to Tv's translation.
So:
[0.0 + 0, 0.0 + 5, -5.0 + 0.5] = [0.0, 5.0, -4.5] 
But what I get is:
[0.0, 0.9999994, -4.9]
Am I missing some important information here?
func loadLights() {
    arView.scene.addAnchor(lightAnchor)
    lightAnchor.addChild(spotlight1)
    print(tv?.position)             // 0.0, 0.0, -5.0
    spotlight1.setPosition([0, 5, 0.5], relativeTo: tv)
    if let tv = tv {
        spotlight1.look(at: tv.position, 
                      from: spotlight1.position, 
                relativeTo: nil)
    }        
    print(spotlight1.position)     // 0.0, 0.99999994, -4.99
}