Strict Signature type checking decorator