moduleTargetAssembly :: (MonadBaseControl IO m, IsBackendVoid b ~ False)
                        => ModuleBuilder -> L b m String
moduleTargetAssembly builder =
  do tm <- getTargetMachine
     withModule builder $
       liftBase . errorToIO 'LL.moduleTargetAssembly .
       LL.moduleTargetAssembly tm
moduleTargetAssembly :: (MonadBaseControl IO m, IsBackendVoid b ~ False)
                        => ModuleBuilder -> L b m String
moduleTargetAssembly builder =
  do tm <- getTargetMachine
     withModule builder $
       liftBase . errorToIO 'LL.moduleTargetAssembly .
       LL.moduleTargetAssembly tm
moduleTargetAssembly builder =
  do tm <- getTargetMachine
     withModule builder $
       liftBase . errorToIO 'LL.moduleTargetAssembly .
       LL.moduleTargetAssembly tm