Generalizing ops

Just a little bit, was trying to make Generics even more generic (for the sake of robust) but decided to not go too far because it made the JuMP stuff even messier than it already is. May revisit later.