Remember back when we all read Clean Code and then to do one thing we wrote 25 small functions across several files instead of one 20-line function that you could look at and say "I know exactly what this function is doing"
@thockin This is further complicated because in Go nil values can still have functions bound and receive calls. Some nil are thus perfectly valid and usable. Ex. bytes.(*Buffer)