Retain type attributes during map
Fix factory inheritance from member expressions