better fix for Issue #629 Recursive generic types not working