Currently there are many copy functions which are a little misleading since you can call BKE_mesh_copy, to create a new mesh but not BKE_mesh_free to free it.
Looking into it these just wrap BKE_id_copy, after some discussion, this is the proposal.
- Remove all BKE_*_copy functions which are only wrapping ID copy.
- Make BKE_id_copy & BKE_id_copy_ex return ID * instead of a boolean, since this complicates API use when the return value is used as input for another function.
This should be done after 2.81 release since it's going to cause conflicts.