def set(self, state, value):<EOL>
if not self._is_kind(Setter):<EOL><INDENT>raise TypeError('<STR_LIT>')<EOL><DEDENT>pure = lambda a: Identity(a)<EOL>func = lambda a: Identity(value)<EOL>return self.apply(func, pure, state).unwrap()<EOL>
Sets all the foci within `state` to `value`.

        Requires kind Setter. This method will raise TypeError when the
        optic has no way to set foci.