blocks allowed in conditionals. some llvm opt passes are buggy, compiling with no optimizations for now.