type checking is often ignored in these interfaces. with static linking #include and mk are often adequate if not perfect, but dynamic linking increases the chances for error.