permute method
Generates another instance with some deterministic function.
The only exception is Kind.forNull (because it has no other instances).
Implementation
@override
Set<E> permute(Set<E> instance) {
return Set<E>.from(instance.map(elementKind.permute));
}