I don't think we need the free-standing function and this constructor, just having one or the other is fine.