> Protocols in Clojure are similar to Java Interfaces, though not quite. Basically a protocol is a contract, a set of functionalities without any implementation
how is this different from Go's implementation of an 'interface' type http://golang.org/doc/go_for_cpp_programmers.html#Interfaces