generics  for the CodeDoc type models