Revisit Generics

  • reduce/revisit generics
  • remove unwraps
  • fix coverage
Edited by Martin Förster