    (defmethod piece-type-on js/Number
      [board square]
      (piece-type-to-keyword
-       (jsc/pieceType (board/piece-on board square)))))
+       (jsc/pieceType (b/piece-on board square)))))
 
 #?(:cljs
    (defmethod piece-type-on js/String

   (defmethod piece-type-on Long
     [board square]
     (piece-type-to-keyword
       (Piece/type (board/piece-on board square)))))

#?(:clj
   (defmethod piece-type-on Integer
     [board square]
     (piece-type-to-keyword
       (Piece/type (board/piece-on board square)))))

#?(:clj
   (defmethod piece-type-on String

     (e.g (piece-count board :black :rook)) or two arguments representing
     board and piece with color (e.g. (piece-count board :wb))."
     ([board piece]
      (b/piece-count board (piece-from-keyword piece)))
     ([board piece color]
      (b/piece-count board (piece-make piece color)))))

(defn parent
  "The parent board of the current board (i.e. the board as it was before the
