This function checks if a value is a list.
By default, definition of a 'list' excludes data.frames in spite of them technically being lists.
This behaviour can be changed by setting include_dataframes = TRUE
Examples
if(interactive()){
is_list(list(1, 2)) # TRUE
is_list(c(1, 2, 3)) # FALSE
is_list(data.frame()) # FALSE
is_list(data.frame(), include_dataframes = TRUE) # TRUE
}