function(linked_list_pop_front linked_list) 
  map_tryget("${linked_list}" head)
  ans(head)
  if(NOT head)
    return()
  endif()
  linked_list_remove("${linked_list}" "${head}")
  if("${ARGN}_" STREQUAL "--node_")
    return(${head})
  endif()
  address_get("${head}")
  return_ans()
endfunction()
