Making structure definition work like Object.create()