LLVM values have identity
Less buggy buildIf
Module and code generation monads