Necessary for #119 and #123 - [ ] Check that types exists and aren't recursive. - [x] Find interface implementations