Things that trip up new-to-TS developers working on a TS project * The value of TS is that it encourages you to think about the structure of your object, and in turn, write simpler, cleaner, flatter, more functional code... and if you are inheriting a project that is complex to begin with and then try to transfer over to TS, types can be really nasty. * JSX can really do a number on Typescript as React has very specific types and each component is essentially a massive higher-order-component with about 20 levels of currying, as each child is passed as part of a parameter to the parent function, and is a function itself with it's own children. * Some libraries still don't support typescript well and aren't designed to be used in a way that is easy to test and easy to type (like Styled-Components)