anchor.diff:  }
   let horse1 = container.resolveAnimalType("Spirit")
   ```
  -
  -We can provide more examples if desired.
  -
  -## Integration
  -
  -The Integration is currently done by calling the following code in a very early (i.e. before compilation) build phase:
  -```SH
  -cd ${SRCROOT}/CodeGeneration/
  -swinject_codegen -i baseInput.csv -o extensions/baseContainerExtension.swift
  -swinject_codegen -i iosInput.csv -o extensions/iosContainerExtension.swift
  -swinject_codegen -i tvosInput.csv -o extensions/tvosContainerExtension.swift
  -```
  -
  -The resulting extension files are added to xcode and given appropriate target settings.
   
   ## Migration
   The script also generates migration.sh files (when using the -m switch), which use sed to go through the code and replace simple cases (i.e. no arguments) of resolve and register.
  
positive.code: 
  ## The Issue
  
  We love using swinject for dependency injection.
  However, we would like to stay to the DRY principle and really love types.
  When using swinject, lots of duplicate definitions appear, whenever we do a
  
  ```Swift
  container.register(PersonType.self, name: "initializer") { r in
  
negative.code: Simply call the .sh file from the root of the project and compare the results in a git-GUI.
  
  ## Results
  We currently use the code generation in two medium-sized apps across tvOS and iOS.
  
  We found our code to become much more convenient to read and write, due to reduced duplication and autocompletion.
  We also have a much better overview the classes available through dependency injection.
  Changing some definition immediately leads to information, where an error will occur.
  We were able to replace all our occurences of `.resolve(` and `.register(` using the current implementation.
  
  ## Contributors
  The original idea for combining CodeGeneration and Swinject came from [Daniel Dengler](https://github.com/ddengler), [David Kraus](https://github.com/davidkraus) and [Wolfgang Lutz](https://github.com/lutzifer).
  