Interface Thing { Function moves Takes(Move Self) Returns(Self); Function immut_ref Takes(Reference Self); Function mut_ref Takes(Mutable Reference Self); }