wrapping it lets it inherit those primitives for use in other programs more easily
many programs handle the wrapping and unwrapping just-in-time behind the scenes, using a chained method call to the same contract OP used
Its pretty hard to mess up, but OP managed to