anchor.diff:  #### Additional Commands
   The ruby parser allows using  `//` and `#` for comments.
   Empty lines are ignored and can be used for grouping.
  -`#= <header>` can be used to specify additional headers, e.g. `#ADD_HEADER import KeychainAccess`
  +
  +`#= <header>` can be used to specify additional lines, e.g. `#= import KeychainAccess`
  +
  +#### Dictionaries and Arrays as Parameters
  +When using typed dictionaries or arrays as parameters, use `Array<Type>` instead of `[Type]` and `Dictionary<TypeA, TypeB>` instead of `[TypeA:TypeB]`:
  +
  +```CSV
  +PersonType; InjectablePerson; initializer; additionalNames:Array<String>; family:Dictionary<String, String>;
  +```
   
   ### YML
   
  
positive.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 a medium-sized app, with a total of ~130 lines of definitions across 3 .csv files (shared definitions, iOS only, tvOS only).
  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 main contributors for this are [Daniel Dengler](https://github.com/ddengler), [David Kraus](https://github.com/davidkraus) and [Wolfgang Lutz](https://github.com/lutzifer).
  
negative.code: }
  let horse1 = container.resolveAnimalType("Spirit")
  ```
  
  ## 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.
  