I know copy-tree is for list, but copy-tree returns no error with float-vector and does not copy the vector.
It is better to warn copy-tree with float-vector.
1.irteusgl$ (setq a (float-vector 1 2 3))
#f(1.0 2.0 3.0)
2.irteusgl$ (setq b (copy-tree a))
#f(1.0 2.0 3.0)
3.irteusgl$ (setf (elt b 0) 5)
5
4.irteusgl$ a
#f(5.0 2.0 3.0)
5.irteusgl$ b
#f(5.0 2.0 3.0)