func (st *state) copy() *state {
	n := new(state)
	*n = *st
	return n
}
func (st *state) copy() *state {
	n := new(state)
	*n = *st
	return n
}
func ( st * state ) copy ( ) * state { n := new ( state ) * n = * st return n }
// copy returns a copy of the current state.
copy returns a copy of the current state .