Clean up warnings.

Still tons of warnings from drop and push. Look into using a union to
fix that. Also getting one warning from needing a cast to a function pointer.