Something I have been thinking about: Rect and Surface classes have their own copy methods. Why do they have that when there is a module called copy in the standard lib that can handle copy (with help)? The rect copy method was added in pygame 1.9 so it is fairly recent.