For all the comments Go gets on its typesystem, I suppose
if rt, ok := dst.(ReaderFrom); ok {
return rt.ReadFrom(src)
}
Isn't the most terrible way anyone has seen pattern matching implemented.At least it is better than Java's instanceof + cast.