Move({ required this.from, required this.to, this.promo, this.piece, this.gatingSquare, }) { if (from == HAND) assert(piece != null, 'Drop moves require a piece'); }