Should probably change the message to say "in and out contracts on non-virtual/non-abstract functions require function body".