Open
Description
I was just thinking that most of the types one might want to diff can already be compared for equality, as per the language spec.
So, we could add func Comparable(a, b interface{}) DiffWriteable
. It would ensure that both params are of the same type, that both are slice types, and that both element types are comparable.
For example, this would be useful with integers, arrays, custom struct types, et cetera.
I'd still keep Strings
, because for the foreseeable future, avoiding interface parameters will make the code faster and easier.
Potentially, we could also use the Equal
method as defined in https://github.com/google/go-cmp.