Don't go through write barrier if not necessary
Remove unnecessary casts and use force_as where possible