Now with some type signatures!