--- /dev/null
+package other
+
+type ImpP struct{} //@mark(OtherImpP, "ImpP")
+
+func (*ImpP) Laugh() { //@mark(OtherLaughP, "Laugh")
+}
+
+type ImpS struct{} //@mark(OtherImpS, "ImpS")
+
+func (ImpS) Laugh() { //@mark(OtherLaughS, "Laugh")
+}
+
+type ImpI interface { //@mark(OtherLaugher, "ImpI")
+ Laugh() //@mark(OtherLaugh, "Laugh")
+}
+
+type Foo struct { //@implementations("Foo", Joker)
+}
+
+func (Foo) Joke() { //@mark(ImpJoker, "Joke"),implementations("Joke", Joke)
+}
+
+type CryType int
+
+type Cryer interface { //@Cryer
+ Cry(CryType) //@Cry,implementations("Cry", CryImpl)
+}