Make type requirement for call-signatures more explicit

Make type requirement for call-signatures more explicit, also don't require type for constructors

We were getting additional type errors for constructors and the tests didn't catch it, I made the tests also verify no extra errors were found.