DRY out; remove unnecessary TODOs
cleanup
keep all type info for `return` and `type` tags (#618)

For consistency with method parameters, this change extends our unfortunate practice of adding type properties to the parent of the `type` object, rather than the object itself.