Restore / recreate function reference?

Probably not what you are looking for based on your first post, but just so you know, you can “store” a more “serializable” function reference using the module and function name as an atom, for example:

defmodule Bla do    
  def ble(n), do: "#{n}"
end

apply(Bla, :ble, [0])