Refactor conditional logic of abstract member
Add ignored test for generic constraints
Add test for record extension members
Add test for union type extension members
Add test for class extension members
Various cleanup