Is defdelegate necessary?

Could you please clarify the moment with compile-time dependency? I’ve just checked and it looks like the code

def reverse(list), do: Enum.reverse(list)

creates such dependency as well. How I checked this is I just changed the Enum module to unexisting and the compiler showed the warning about missing module.