<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def can_group_commands(command, next_command):
 """ Returns a boolean representing whether these commands can be grouped together or not. A few things are taken into account for this decision: For ``set`` commands: - Are all arguments other than the key/value the same? For ``delete`` and ``get`` commands: - Are all arguments other than the key the same? """

    multi_capable_commands = ('get', 'set', 'delete')

    if next_command is None:
        return False

    name = command.get_name()

    # TODO: support multi commands
    if name not in multi_capable_commands:
        return False

    if name != next_command.get_name():
        return False

    # if the shared args (key, or key/value) do not match, we cannot group
    if grouped_args_for_command(command) != grouped_args_for_command(next_command):
        return False

    # If the keyword arguments do not much (e.g. key_prefix, or timeout on set)
    # then we cannot group
    if command.get_kwargs() != next_command.get_kwargs():
        return False

    return True