-record(castle, { side :: move_san:castle_side(), maybe_check_or_checkmate :: gleam@option:option(move_san:check_or_check_mate()) }).