bringing back interfaces as types blog post