Strict typing and restricting types in a method's signature

Maybe check this again.