It’s not nasty because of its computation, I was more expressing its nasty in its non-communicative factor.
But I understand what you are saying, and yes you are correct that in the background I guess CFrame.lookAt uses the cross product to build the matrix anyways.