I noticed some of these during testing but just didn't have enough time to fix them. For C) I think its just to do with the velocity carrying over when the player gets teleported to the checkpoint. For the other points, I think its just they way i coded the movement and jumping so I'll keep this in mind for other games.