Dynamo chess

Dynamo chess is a chess variant invented by chess problemists Hans Klüver and Peter Kahl in 1968. The invention was inspired by the closely related variant "push chess", invented by Fred Galvin in 1967. The pieces, board, and starting position of Dynamo chess are the same as in orthodox chess, but captures are eliminated and enemy pieces are instead "pushed" or "pulled" off the board. On any given move, a player can make a standard move as in orthodox chess (without capture), or execute a "push move" or a "pull move". A move that is either a push move or a pull move is called a "dynamo move".
Game rules.
Dynamo moves.
As in Push Chess, the slider pieces (Queen, Rook, and Bishop) can make their standard move to an occupied square, and "push" the piece occupying that square--whether it's their own piece or the opponent's piece---in the same direction and distance that the (primary) moving piece travels. Every square on the path between the pieces must be vacant, and every square the pushed piece moves over must be vacant, or off the board. Capturing is not done as in orthodox chess. Instead, a piece that is pushed off the board is removed from the game. Dynamo Chess also has pull moves: Pieces can be pulled when the moving piece moves directly away from the piece to be pulled. The piece being pulled lands where the moving piece started, and the moving piece travels in the same direction, through the same distance. There must not be any other pieces between them, and every square the moving piece moves over must be vacant, or be off the board. If a piece making a pull move moves off the board, then both it and the piece being pulled are removed from the game. Only one piece is ever pushed or pulled per move. For example, a rook moving from a1 to a3 (using algebraic notation) could push a bishop (of either color) from a3 to a5. On the other hand, a rook at a1 could push a bishop at a5 off the board. As another example, if there is a rook at h3 and a queen at h6, then the rook can pull the queen toward it. This would cause the rook to move off the board, so both pieces would be removed from the game.
The leaper pieces---kings, knights, and pawns---can also make dynamo moves. However, pawns, which can only move forward, cannot make pull moves. When making dynamo moves, pieces have the option of remaining stationary while pushing another piece, or pulling a piece off the board. (This differs from Push Chess, which does not permit such "stationary moves".) Kings are not allowed to move off the board as part of a pull move.
A pawn advancing one space (or two, if moving from its starting rank) can push a friendly piece the same number of spaces forward. If a pawn is pushed back from it starting rank, it can advance only one square forward, thus returning to the starting rank. Once back at its starting rank, it is again able to advance two spaces forward. A pawn that could capture an opponent's piece under the rules of orthochess can push that piece one space diagonally forward. There is no en passant capture (but see the Variants section, below). A pawn that is pushed to the final rank is promoted, with the promotion type chosen by the player making the push move (but see the Variants section, below).
Castling exists as in orthochess, but castling cannot be performed as a dynamo move. Also, a king and rook are eligible for castling if they are pushed or pulled from their original position, then pushed or pulled back to their original position, as long as they had never themselves been the primary moving piece.
A dynamo move cannot be used to undo the previous move.
End game conditions.
A player is in check if the king is in danger of being pushed or pulled off the board. It is checkmate if unavoidable. A dynamo move cannot be used to escape check, or put the moving player into check, or move a king through check. A checkmate wins the game, while stalemate causes a draw.