Когда наследуешь интерфейсы в TypeScript, то вот такую хероту приходится городить, чтоб анализатор не ругался. При наследовании Person от BaseObject определение типа как Person | BaseObject не помогает, при попытке обратиться к полю name из Person.
1. Это бекенд.
2. Это ts.