added type level evaluation and comparison, value level llvm cast conformity