def set_initial_position(sgf_game, board):
    """Add setup stones to an Sgf_game reflecting a board position.

    sgf_game -- Sgf_game
    board    -- Board object

    Replaces any existing setup stones in the Sgf_game's root node.

    'board' may be a boards.Board instance, or anything providing the interface
    described by sgf_board_interface.Interface_for_set_initial_position().

    """
    stones = {'b': set(), 'w': set()}
    for colour, point in board.list_occupied_points():
        stones[colour].add(point)
    sgf_game.get_root().set_setup_stones(stones['b'], stones['w'])
