Add macro to help compiler with very likely branches
Add assert macros
Review naming