I simply changed the 

```Ident(newTypeName(fieldMemberType.typeSymbol.name.toString)))```

towards the end, in the `TypeDef()` into `TypeTree(fieldMemberType)`.
Before, your statement would turn an Option[String] into Option and then the compiler was unhappy, since you only used the type name and skipped the type parameters.
By using the TypeTree, the type params are kept intact.