Split up elwise.hpp into pieces to try and reduce compile memory usage