More type-safety, and avoid Obj.magic