Runtime safe and statically type checked are two fundamentally different things is my point. Interfaces in most typed languages are static concepts, though there are always exceptions.
Interfaces in go are simply saying "this thing satifies these properties". interface{} is an interface that anything can satisfy.