I just installed erl_interface and that is an example where you really need the headerfiles if you want to use that module. Other headerfiles probably don’t get used often under “normal” circumstances.
To better illustrate the situation on my OS X system, below a bit of copy/paste form my shell:
this are the current installed symlink:
========================Ω
rsmac:~/cean/erlang rsaccon$ ls -la include/*
lrwxr-xr-x 1 rsaccon rsaccon 23 Jul 4 23:44 include/cean -> ../lib/cean-1.3/include
lrwxr-xr-x 1 rsaccon rsaccon 28 Jul 4 23:44 include/kernel -> ../lib/kernel-2.11.5/include
lrwxr-xr-x 1 rsaccon rsaccon 34 Jul 4 23:44 include/runtime_tools -> ../lib/runtime_tools-1.6.6/include
lrwxr-xr-x 1 rsaccon rsaccon 28 Jul 4 23:44 include/stdlib -> ../lib/stdlib-1.14.5/include
lrwxr-xr-x 1 rsaccon rsaccon 24 Jul 5 01:12 include/yaws -> ../lib/yaws-1.68/include
this is snapshot on my system of packages with include directories:
===========================================
rsmac:~/cean/erlang rsaccon$ ls -la lib/*/include
l
=> now I get a huge lit of include files, which I can-t even post here, because it exceeds to message-post-size-limit