This actually compiles to something that is basically the same as the construct function we had defined above