What's the point of adding these constructors over simply casting like you'd do now? I don't see how this adds anything.