Why exactly isn't a constructor without any parameters is not allowed? Why does "Struct()" calls "Struct.opCall()," which means "Struct.init" initially, while "Struct(params)" calls "Struct.this(params)?" Does "Struct(params)" also call "Struct.opCall(params)?" I am new to D and I can't seem to understand this.