human
I wrote the below code

    assert callable(get_vi_mode_enabled)
    assert callable(set_vi_mode_enabled)
    key_binding_manager = KeyBindingManager(enable_open_in_editor=True, enable_system_bindings=True, enable_auto_suggest_bindings=True, enable_search=True, enable_abort_and_exit_bindings=True)
    @key_binding_manager.registry.add_binding(Keys.F2)
    def _(event):
        '\n                                Enable/Disable    SmartCompletion    Mode.\n                                '
        _logger.debug('Detected    F2    key.')
        buf = event.cli.current_buffer
        buf.completer.smart_completion = (not buf.completer.smart_completion)
    @key_binding_manager.registry.add_binding(Keys.F3)
    def _(event):
        '\n                                Enable/Disable    Multiline    Mode.\n                                '
        _logger.debug('Detected    F3    key.')
        buf = event.cli.current_buffer
        buf.always_multiline = (not buf.always_multiline)
    @key_binding_manager.registry.add_binding(Keys.F4)
    def _(event):
        '\n                                Toggle    between    Vi    and    Emacs    mode.\n                                '
        _logger.debug('Detected    F4    key.')
        vi_mode = (not get_vi_mode_enabled())
        set_vi_mode_enabled(vi_mode)
        event.cli.editing_mode = (EditingMode.VI if vi_mode else EditingMode.EMACS)
    @key_binding_manager.registry.add_binding(Keys.Tab)
    def _(event):
        '\n                                Force    autocompletion    at    cursor.\n                                '
        _logger.debug('Detected    <Tab>    key.')
        b = event.cli.current_buffer
        if b.complete_state:
            b.complete_next()
        else:
            event.cli.start_completion(select_first=True)
    @key_binding_manager.registry.add_binding(Keys.ControlSpace)
    def _(event):
        '\n                                Initialize    autocompletion    at    cursor.\n\n                                If    the    autocompletion    menu    is  ...

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def pgcli_bindings(get_vi_mode_enabled, set_vi_mode_enabled):