Hmm intresting discussion you got going I like to simplyfy things when I think of a Interface.
Think of a Interface like a Contract or Promise. Where you basicly say I dont care if you are a Clock, a Rock a Human I just want you to be able to Fullfill your Contract/Promise you gave me.
Not Inhertance bound, Not type bound just a simple Promise even if its empty and does nothing