<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bytes_block_cast(block, include_text=True, include_link_tokens=True, include_css=True, include_features=True, **kwargs):
 """ Converts any string-like items in input Block object to bytes-like values, with respect to python version Parameters block : blocks.Block any string-like objects contained in the block object will be converted to bytes include_text : bool, default=True if True, cast text to bytes, else ignore include_link_tokens : bool, default=True if True, cast link_tokens to bytes, else ignore include_css : bool, default=True if True, cast css to bytes, else ignore include_features : bool, default=True if True, cast features to bytes, else ignore kwargs: encoding: str, default: 'utf-8' encoding to be used when encoding string """

    if include_text:
        block.text = bytes_cast(block.text, **kwargs)
    if include_link_tokens:
        block.link_tokens = bytes_list_cast(block.link_tokens, **kwargs)
    if include_css:
        block.css = bytes_dict_cast(block.css, **kwargs)
    if include_features:
        block.features = bytes_dict_cast(block.features, **kwargs)
    return block