permute method
Generates another instance with some deterministic function.
The only exception is Kind.forNull (because it has no other instances).
Implementation
@override
T permute(T instance) {
return findKindByInstance(instance).permute(instance);
}