[x] Need to refactor memory footprint logic functions into separated predicates, because WP doesn't support most heterogeneous pointer casts, Alt-Ergo throws an error when using logic functions which return set\<T>, and \separated does not ensure pointers within a set are separated from themselves, but rather it ensures those pointers are separated from pointers in other argument sets to \separated. This will make the logic/annotations significantly longer. [The last reason is the most important, because the others can be resolved through the Value Analysis plug-in]
[ ] Need to take a second look at how I deal with pointers to other GraphBLAS structs within the current GraphBLAS struct
[ ] Some pointers can alias within and between structs, ie. type and function pointers, so make sure this is handled correctly within footprints and when they are used