likely_compile now operates on types instead of matricies