This means adding a few type signature, and some tests failing (as they should) rather than succeeding