if (valueType.flags & ts.TypeFlags.BooleanLike) {
            numberValue = context.builder.createUIToFP(llvmValue, llvm.Type.getDoubleTy(context.llvmContext), `${llvmValue.name}AsNumber`);
        } else if (valueType.flags & ts.TypeFlags.IntLike) {
            numberValue = context.builder.createSIToFP(llvmValue, llvm.Type.getDoubleTy(context.llvmContext), `${llvmValue.name}AsNumber`);
        } else if (valueType.flags & ts.TypeFlags.NumberLike) {