func isComparable(typ types.Type) bool { return types.Comparable(typ) }
func isFullyComparable(typ types.Type) bool { ptr, isPtr := typ.Underlying().(*types.Pointer) return (isPtr && types.Comparable(ptr.Elem())) || (!isPtr && types.Comparable(typ)) }